ホームページ  >  記事  >  バックエンド開発  >  PHPコードイグナイター

PHPコードイグナイター

WBOY
WBOYオリジナル
2016-06-20 12:47:561146ブラウズ

1. CI とは

CI の正式名は CodeIgniter で、シンプルで「エレガントな」ツールキットとして、完全に機能する PHP プログラマを構築できます。 MVC 設計パターンに基づいており、軽量で習得が容易で、セキュリティに配慮しており、健全なドキュメントと豊富なクラス ライブラリを備えています。

2. CI でできること

CI は、ファイルのアップロード、画像処理、ファイル圧縮、電子メール送信など、多くの豊富なクラス ライブラリを提供します。これらのクラス ライブラリの存在により、開発の難易度とサイクルが大幅に軽減され、外部クラス ライブラリを統合する必要性も軽減されます。 ECサイト、SNS、フォーラム、コンテンツ管理システム(CMS)、顧客関係管理システム(CRM)など、さまざまなWebアプリケーションを迅速かつ効率的に開発できます。

3. MVC

エントリ ファイル: ブラウザが直接要求する唯一のスクリプト ファイル

コントローラー コントローラー: モデルとビューを調整します

モデル : 提供しますデータとデータの保存

ビュー: 表示とフォームのみを担当します...

アクション: コントローラー内のメソッドであり、ブラウザーによって要求されるために使用されます

4. CI

の mvc は、pathinfo を使用して URL: エントリー file.php/controller/action

アプリケーション ディレクトリ内: コントローラー (コントローラー)、モデル (モデル)、ビュー (ビュー)

5. c (コントローラー)。

サフィックスは必要ありません。

すべての小文字のファイル名 (例: user.php)。

CI_Controller クラスから直接または間接的に継承されたすべてのコントローラー。

コントローラーのアクション (メソッド) 要件は次のとおりです: public、アンダースコアで始めることはできません、クラス名と同じであってはなりません (そうでない場合はコンストラクター メソッドとみなされます)。

6. 見る。

コントローラーにビューをロードします: $this->load->view(view)

// サブディレクトリがある場合は、拡張子を書かずにビュー名を直接書きます。サブディレクトリを追加すると、ビューを複数回呼び出すことができます。

テンプレート エンジンを使用せずに、ビュー内で直接 PHP ネイティブ コードを使用します。

を使用することをお勧めします。 $list as $ item):?>

変数の割り当て: this->assign('key','value')//smarty; this->load->vars('key','value') または $data[ ' list']=$list this->load

->vars($data)

7. スーパー オブジェクト

現在のコントローラー オブジェクト (CI_Controller)

は多くの属性を提供します:

$this->load (クラス属性、Loader.php のローダー CI_Loader クラス インスタンス)

ローダー CI_Loader クラスで提供されるメソッド: view()-ビューのロード、vars() - ビューへの変数の割り当て、database() - データベース操作オブジェクトのロード、model() - モデル オブジェクトのロード、helper() - 補助関数。

$this->uri (クラス属性、URI.php の CI_URI クラスのインスタンス)

CI_URI クラスで提供されるメソッド:

の取得には、segment() が使用されます。エントリの URL パラメータ file.php/controller/action/parameter1/parameter2 (またはアクション内の対応するパラメータ)

$this->input (class 属性、Input.php の例の CI_Input クラス)

メソッドは CI_Input クラスで提供されます。

post() は投稿によって送信されたデータを取得します。これは $_POST と同等であり、server() はサーバー内の関連情報を取得します。 $_SERVER に。

ビューで $this を直接使用して、スーパー オブジェクトのプロパティにアクセスします。

8. 操作データベース

設定ファイルを変更します: applicationconfigdatabase.php

データベース オブジェクトをロードします: $this->load->database();

SQL の書き込み: $sql="";

SQL の実行: $this->db->query($sql,[連想配列]); クエリは配列を返します ($res-> ;result())、追加、削除、変更はブール値を返します

9. ar (アクティブ レコード、一般的に使用される単純な SQL) 操作

設定ファイルを変更します: applicationconfigdatabase.php ($active_record = TRUE;); applicationconfigautoload.php ($autoload['libraries'] = array('database');)

クエリを実行します: $this->db->get(テーブル名);テーブル内のデータ

挿入の実行: $this->db->insert (テーブル名、連想配列データ);

更新の実行: $this->db-> update (テーブル名、連想配列データ) データ、条件 (配列))

ar コヒーレント操作: $this->db->select('id,name')->from('user ')->where('id >=',3)->limit(3,2)->order_by('id desc ')

->get();

// ci sql($this->db->last_query()) によって実行されます select 'id','name' from('blog_user') where 'id' >=3 order by ' id' desc limit 2,3

10. ci コントローラーの拡張

クラスが CI_Controller を継承する applicationcore ディレクトリに MY_Controller.php を作成します。他のコントローラーは MY_Controller を継承できます。

11. m (モデル)

User_model は CI_Model を継承し、スーパー オブジェクト内の属性を直接使用できます。ファイル名はすべて小文字で、クラス名の最初の文字は大文字になります。接尾辞として _model を使用することをお勧めします。

コントローラー内


モデルの読み込み: $this->load->model('User_model');

モデルを呼び出してデータを取得: $list=$this->User_model->getAll() ;

ビューのロード: $this->load->view('ビュー名',array('list'=>$list));

12. URL 関連関数

コントローラーに URL をロードします (多くの場合、config ディレクトリーの autoload.php ファイルで構成できます): $this->load->helper('url'); 次に、次のアクションを実行します。フォームは < ;?php echo site_url('コントローラー名/メソッド名'); ?>

base_url: ベース ディレクトリを取得します ( Web サイトのルート ディレクトリ)

13. ルーティングを設定します

config ディレクトリの Router.php ファイルで設定します

$route['news/(d+).html'] ='article/show/$1 '; //=以下は実際のアクセス アドレスと、以前に生成された表示アドレスです

14. クラス ファイルの読み込み: $this- >load->library('ページネーション '); $this->load->helper('uri');

$config['base_url']=site_url('コントローラー/メソッド名'); //アドレス

$config['total_rows']=100; //総レコード数

$config['per_page']=10; page

$config[ 'first_link']='Homepage' // ホームページのリンク表示名を設定します

$this->pagination->initialize($config);初期化設定

$page_index= intval($this->uri->segment(3)); //開始位置を取得

$sql='select * from テーブル名制限$page_index,10';


$data['links']=$this->pagination->create_links() //リンクを作成します

$this-> ;load->view('Directory/php name',$data);

15. ファイルのアップロード

フォーム フォーム。属性 enctype="multipart/form-data が必要です。 」。

入力タグ、タイプはファイルです。

$config['upload_path'] = './uploads/'; // ディレクトリをアップロードします

$config['allowed_types'] = 'gif|jpg|png'; Type

$config['max_size'] = '100'; //最大ファイル制限

$config['max_width'] = '1024';

$config['max_height'] = '768' //ファイルの最大高さ

$this->load->library('upload', $config);アップロードされたファイル

$this->upload->do_upload('input tag name')); //アップロード

16. セッション (構成が必要)

$ this- >load->library('session'); (注: md5(uniqid()); //キーを生成)

this->session->set_userdata($array); / /複数のページがデータを渡す

this->session->set_flashdata($array); //2 ページが渡されると破棄される

17.詳細は API )

18. フォーム検証 (詳細は API を確認してください)

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。