--------------------------------------------------------------------------------------------------------
载入视图
$this->load->view('home/name'); //可以用子文件夹存储视图,默认视图文件以'.php'结尾
载入多个视图
$data['title'] = 'chenwei'; //给视图添加动态数据
$data['message'] = 'Your message';
$this->load->view('header', $data); //当一次性载入多个视图时,你只需在第一个视图传入数据即可(header视图显示title, content视图显示message)
$this->load->view('menu');
$this->load->view('content');
$this->load->view('footer');
使用对象的例子:
$data = new Someclass();
$this->load->view('blogview', $data);
视图文件中的变量
创建循環
class Blog extends CI_Controller{
関数index()
{
$data['todo_list'] = array('家をきれいにする', 'お母さんに電話する', '用事をする');
$data['title'] = '私の本当の肩書';
$data['Heading'] = '私の本当の見出し';
$this->load->view('blogview', $data);
}
}
获取映像内容(赋值给一变量)
$buffer = $this->load->view('blogview', $data, true);
//view 関数の 3 番目のオプションのパラメータは、関数の実行を変更できます。view の 3 番目のパラメータが true (ファブリック) に設定されている場合、関数はパケットを返します。view 関数の実行が false の場合、データが受信者に送信されます。パケットを返したい場合は、それを 1 つのレベルに変換するように設定します。
@黑眼诗人:参考用户手册 PHP代替语法
ビデオファイルのPHP代替语法 =>
config/config.php で $config['rewrite_short_tags'] を開くと、サーバーが短マークをサポートしていない場合、CodeIgniter がすべての短マークを再書き込みします。注: この特性を使用する場合、転送される映像ファイル内で PHP 不正行為が発生した場合、その不正行為情報と行番号は標準で表示されません。逆に、すべての不正行為は
eval()の不正行為として表示されます。 通常のエコー形式:
代替语法の使用:=$variable?>
代替制御结构
注: ここには大括弧はありません。逆に、終了大小数は endforeach に置き換えられます。上に列挙した各制御構造にも、同様の終了法: endif、endfor、endforeach、endwhile があり、各構造で後で使用する必要がないことに注意してください。分号(除了最後後一个),用冒号!
----------------------------------------
モデル クラスのファイルはすべてアプリケーション/モデルのリストに保存されますが、大規模なリストの管理を容易にするために、サブ リストを作成することもできます。
基本的なモデル
1. クラス名の先頭文字は必ず大書し、その他の文字は小書、継承された基本モデル クラス CI_Model、ファイル名はモデル クラス名の小書形式です。
2.モデルはコントローラー内で参照できます。 例:$this->load->model('User_model'); または $this->load->model('home/User_model');
モデルがロードされると使用できるようになり、場合によっては、モデル名がオブジェクト名として直接参照されます。例:$this->User_model->function();
もちろん、追加モデル関数で 2 番目のパラメータを指定することで、オブジェクト名を再命名することもできます。
例:$this->load->model('User_model', 'fubar');$this->fubar->function();
自動ダウンロード入力モデル
特定のモデルが全体で動作する必要がある場合は、application/config/autoload.php ファイルの自動ロード数グループにそのモデルを追加することで、初期化時に CI を自動ロードできます。
データ库に接続されています
モデルがロードされるとき、自動的にデータベースに接続されません。次の方法でデータ プールに接続できます。
1.标標準方法连接データ库2. 3 番目のパラメータを TRUE に設定して、モデル実装関数数自動接続データ库を使用します
$this->load->model('User_model', '', TRUE);
3.手動設定第三パラメータをダウンロードしてインストールする独自のデータセット
$config['hostname'] = 'localhost';$config['username'] = 'root';
$config['パスワード'] = 'root';
$config['database'] = 'test';
$config['dbdriver'] = 'mysql';
$config['dbprefix'] = '';
$config['pconnect'] = FALSE;
$config['db_debug'] = TRUE;
$this->load->model('User_model', '', $config);
//注: データベースに自動的に接続する場合と手動でデータベースに接続する場合、消費されるメモリは同じです。
完全な例:
クラス User_model は CI_Model を拡張します{
var $title = '';
var $connect = '';
var $data = '';
関数__construct()
{
parent::__construct();
}
関数get_last_ten_entries()
{
$query = $this->db->get('entries', 10);
return $query->result();
}
関数 insert_entry()
{
$this->title = $this->input->post('title') //入力クラスを使用して、POSTで送信されたデータを受け取ります
$this->content = $this->input->post('content');
$this->date = time();
$this->db->insert('entries', $this);
}
関数 update_entry()
{
$this->title = $this->input->post('title');
$this->content = $this->input->post('content');
$this->date = time();
$this->db->update('entries', $this, array('id'=>$this->input->post('id')));
}
}
//上記で使用した関数はActive Recordデータベース関数です
----------------------------------------------- -------------------------------------------------- --
コントローラー ファイルは通常、application/controllers/ フォルダーに保存されます:
デフォルトの URL ルーティング設定 $config['uri_protocol'] = 'AUTO' //デフォルトは pathinfo モード、オプションです
;
注: クラス名は大文字で始める必要があり、最初の文字は小文字であるため無効です。
基本コントローラークラス
クラス Blog は CI_Controller を拡張します{
パブリック関数__construct()
{
親::__construct();
//コンストラクターは値を返すことはできませんが、いくつかのデフォルト関数を設定するために使用できます。コントローラーがすべてのメソッドを継承するように親コントローラー クラスを拡張していることを確認してください。
}
パブリック関数index()
{
「Hello World!」をエコーします;
}
public function comments()
{
$this->load->view('comment');
}
}
//example.com/index.php/blog/comments を使用してコメントメソッドにアクセスします
デフォルトのコントローラーを定義します
application/config/routes.php 内 $route['default_controller'] = 'ブログ';
コントローラーをサブフォルダーに入れます
application/controllersディレクトリの下に新しいディレクトリを作成し、その中にコントローラーを置きます。注: サブフォルダー内の関数を使用する場合は、URI の最初のフラグメントがフォルダーの説明に使用されていることを確認してください。 application/index.php/home/blog/comments/123
プライベートメソッド:
プライベート関数_test()
{
Return $variable = 'aaa'; //private 修飾子がなくても、メソッド名にアンダースコア (_) が付いている限り、プライベート メソッドであるため、URL からアクセスすることはできません。
}
予約されたメソッド名:
index は CI のデフォルトのメソッド名であり、予約語に含まれているため、class Index extends CI_Controller{} のように、コントローラー クラス名をインデックスにすることはできません。詳細については予約語を参照してください。
メソッド呼び出しルールを再定義します:
_remap();
処理出力:
_output(); 詳細は出力クラスを参照してください。
------------------------------------------------- ------------------------------------------------
兄弟、まずサーバープログラムとページプログラムを明確に理解してください。 Frame はページ コードであり、ci とは何の関係もありません。特定のフレームの src を制御したい場合は、最初にフレームの name 属性に値を割り当てる必要があります (
制御します src,link
CodeIgniter は、PHP で Web アプリケーションを作成する人のためのツールキットです。その目的は、コードを最初から作成するよりも迅速にプロジェクトを開発できるようにすることです。そのために、CI は、一般的なタスク要件を満たす豊富なクラス ライブラリのセットを提供し、これらのライブラリを呼び出すためのシンプルなインターフェイスと論理構造を提供します。 CodeIgniter を使用すると、完了する必要があるコードの量を最小限に抑えることができるため、プロジェクト開発にさらに集中できるようになります。
CodeIgniter は無料です。
CodeIgniter は Apache/BSD スタイルのオープンソース ライセンスに基づいてライセンスされているため、好きなだけ使用できます。詳細については、使用許諾契約をお読みください。
CodeIgniter は軽量です
本当に軽量です。より多くのリソースを必要とするフレームワークとは対照的に、私たちのコア システムは少数の非常に小さなライブラリのみを必要とします。追加のライブラリは要求に基づいて要求に応じてのみロードされるため、コア システムは非常に高速で軽量です。
CodeIgniter は高速です
非常に高速です。 CodeIgniter よりも優れたパフォーマンスを発揮するフレームワークを見つけるのは難しいでしょう。
CodeIgniter は M-V-C モデルを使用します
CodeIgniter はモデル-ビュー-コントローラーのアプローチを使用し、プレゼンテーション層とロジック層をより適切に分離できます。これはプロジェクトのテンプレート設計者にとって非常に便利で、テンプレート内のプログラム コードの量が最小限に抑えられます。これについては、MVC のそれぞれのページで詳しく説明します。
CodeIgniter はクリーンな URL を生成します
CodeIgniter は、非常にクリーンで検索エンジンに優しい URL を生成します。標準の文字列クエリ方法とは異なり、CodeIgniter はセグメントベースの方法を使用します:
example.com/news/article/345 注:index.php ファイルはデフォルトで URL に含まれていますが、.php ファイルを変更することで変更できます。 htaccessファイルの設定を変更します。
CodeIgniter は強力です
CodeIgniter には、データベースの読み取り、電子メールの送信、データの確認、セッションの保存、画像の操作、XML-RPC データ送信のサポートなど、最も一般的に必要なネットワーク開発タスクを完了できる幅広いクラス ライブラリがあります。 。
CodeIgniter は拡張可能です
このシステムは、カスタム クラス ライブラリや補助関数を通じて簡単に拡張でき、また、拡張クラスやシステム フックを通じて実装することもできます。
CodeIgniter にはテンプレート エンジンは必要ありません
CodeIgniter にはオプションのテンプレート パーサー プログラムが付属していますが、テンプレートを使用する必要はありません。テンプレート エンジンは、ローカライズされた PHP コードのパフォーマンス要件とまったく一致しません。テンプレート エンジンを使用するには、その構文を学ぶ必要があります。これは、少なくとも PHP の基本を学ぶよりは簡単です。次の PHP コードを考えてみましょう: