ホームページ >バックエンド開発 >PHPチュートリアル >Cakephp Cakephpはメインプロセスを実行します

Cakephp Cakephpはメインプロセスを実行します

WBOY
WBOYオリジナル
2016-07-29 08:42:22984ブラウズ

一般的に使用されるメソッドと時間定数を定義する基本ファイル
cake/basics.php をロードします
$TIME_START = getMicrotime(); いくつかの基本パスを定義する
cake/config/paths.php をロードします
cake/lib/object phpの基本クラスcake
cake/lib/inflector.phpは、主に単数と複数の数字、下線付きの命名とキャメルケースの命名を扱います
cake/lib/configure.phpは、ファイル構成の読み書き、パス設定、ファイルのロード方法
cake/lib/cache.php キャッシュ操作
Configure::getInstance(); プロジェクトの設定開始
config/core.php プロジェクトの設定ファイル
config/bootstrap.php プロジェクトのエントリファイル
App ::import('Core', array('Dispatcher')); コアをロードしてビジネスを開始します。
$Dispatcher = new Dispatcher(); 実行を開始します。 pass 現在の URL 解析では、圧縮された Js と Css を設定すると、これらのファイルが圧縮されて出力されます。ページのキャッシュを設定すると、キャッシュされたページが直接出力され、最終的に対応するコントローラーが見つかります。 。見つからない場合は、適切なエラー処理が実行されます。
現在のコントローラーをインスタンス化し、ビューパスを決定し、コンポーネントをインスタンス化し、現在のコントローラーのみのメソッドを取得します(親クラスのコントローラーは含まれません)
プライベートメソッド、現在のコントローラー内の管理ルーティングまたはプレフィックスを持つメソッドを保護します、そして直接アクセスは許可しません
現在のコントローラーの基本属性 (base、here、webroot、plugin、params、action、passedArgs[array_merge($this->params['pass'],$this->) など)を設定します。 params['named'])]
コントローラーでconstructClassesメソッドを呼び出します
親クラスと子クラスのコンポーネント、ヘルパー、使用法、その他の属性の特別なマージ処理を実行する__mergeVarsメソッドを実行します
Component->initを呼び出します() ユーザーが設定した一連のコンポーネント (セッション) をロードするメソッドがデフォルトです)、デフォルトの Enabled 属性は true です。 (このプロパティは後で beforeFilter で変更できます)
一連のコンポーネントにこの初期化メソッドがあり、コンポーネントの有効化が true の場合、components->initialize メソッドが呼び出されます。 (ここでは有効なユーザーです。コントローラーを介して設定することはできないようです。true のみ可能です)
現在のコントローラーで beforeFilter() メソッドを呼び出します。このメソッドは良いことです^_^
コンポーネントを呼び出します->同様に、一連のコンポーネントにこの起動メソッドがあり、コンポーネントの有効が true の場合、components->startup メソッドが呼び出されます (ここでの有効化は beforeFilter を通じて設定できます)。また、コンポーネントで最も重要なメソッドでもあります。たとえば、Auth が大騒ぎします ^_^
現在のコントローラーでアクション メソッドの実行を開始します
autoRender が true に設定されている場合、現在のコントローラーの render() メソッドは次のようになります。それ以外の場合は、Action メソッドによって返されるデータが返されるか出力されます。コントローラーの render() メソッドを呼び出すときは、まず現在のコントローラーの render() メソッドを呼び出します。 beforeRender() メソッドはビュー レンダリング クラスを読み込みます。
Component->beforeRender() メソッドを呼び出します。同様に、一連のコンポーネントに beforeRender メソッドがあり、コンポーネントの有効が true の場合、components->beforeRender メソッドが呼び出されます (ここでは、beforeFilter を通じて有効に設定できます)。
現在のモデルのデータ検証エラー情報を取得し、ビューに使用します
ビューの render() メソッドを呼び出します
関連するヘルパーをロードします
ヘルパーの beforeRender() メソッドを呼び出します
ヘルパーの afterRender() メソッドを呼び出します
関連するキャッシュ処理
renderLayout() メソッドを実行します。もちろん、レイアウトのレンダリングを許可する必要があります。デフォルトは、default.ctp レイアウト ファイルです
ヘルパーの beforeLayout() メソッドを呼び出します
ヘルパーの afterLayout() メソッドを呼び出します
コンポーネントを呼び出します -> shutdown ()メソッドも同様に、シリーズコンポーネントにこのshutdownメソッドがあり、コンポーネントのenabledがtrueの場合、components->shutdownメソッドが呼び出されます(ここでのenabledはbeforeFilterを通じて設定できます)
現在のControllerでafterFilterメソッドを実行します、ここで次のことができます。 ビューの出力コンテンツ ($controller->output) は何らかの処理を実行し、ビュー データを返すか出力します。
手続きは完了です。
上記は、cakephp のコンテンツを含む Cakephp 実行の主なプロセスを紹介しています。PHP チュートリアルに興味のある友人に役立つことを願っています。


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