まず、cakephp の実行プロセスを見てみましょう (画像は百度百科から借用しました):
1: まず、サーバーが書き換えをサポートしている必要があります。書き換えをサポートしていない仮想ホストの場合、cakephp は実行されません。通常は。
2: すべてのリクエストをcakephpフレームワークに送信した後、フレームワークのルートを入力します。cakephpにはデフォルトの配布ルールのセットが付属しています(例: http://.../test/test、ルート設定はありません)。 test_controller コントローラーのテスト メソッドが自動的に実行されます)。
ルートを設定することで、実行したいリクエストをコントローラーとメソッドに送信できます。設定は次のとおりです (app/config/routes.php):
コードをコピーします コードは次のとおりです。
Router: :connect('/pages/*', array('controller' => 'test', 'action' => 'index'));
3: リクエストがコントローラーに入った後、cakephp はコントローラーの名前に従って進みます。デフォルトのモデルを読み込みます。例: TestController はモデルの下に test.php ファイルを自動的にロードします。その後、次のメソッドを通じてモデルのメソッドを呼び出すことができます。
コードをコピーします コードは次のとおりです:
$this->test->find('all');
cakephp フレームワークのコントローラー基本クラスのソース コードを表示します。 Cakelibscontrollercontroller.php の __mergeVars メソッド)
コードをコピーします コードは次のとおりです:
if ($this->uses !== null && $this->uses !== false) {
$merge[] = 'uses';
}
foreach ($merge as $var) {
if (isset($appVars[$var]) && !empty($appVars[$var]) && is_array($) this->{$var})) {
if ($var !== 'uses') {
$normal = Set::normalize($this->{$var});
$app = 設定: :normalize($appVars[$var]);
if ($app !== $normal) {
$this->{$var} = Set::merge($app, $normal); else {
$this->{$var } = array_merge($this->{$var}, array_diff($appVars[$var], $this->{$var}));
}
cakephp がコントローラーを構築するとき、 uses 配列内のすべてのモデルがインスタンス化されます。
4, 5, 6: コントローラーとモデルが直接ビジネスロジックを扱う処理です。 注意すべき点は、cakephp のモデルは AppModel から一部のデータベース操作メソッドが実装されており、モデルが関連付けられることになります。デフォルトではデータベース。これはあまり良いことではありません。モデルはデータベースの単なる操作層です。
7: 業務処理が完了したら、最終データをHTMLに統合してブラウザに出力する必要があります。 Cakephp のビューには、レイアウト ファイル、要素ファイル、およびテンプレート ファイルが含まれています。これらのファイルは、バージョン 1.3 で ctp のサフィックスを採用しており、var $ext = '.ctp' を変更してテンプレートのサフィックスを変更できます。ファイル。
要約: Cakephp フレームワークは使用するには柔軟性が不十分であり、モデル層には制限があります。ビュー ファイルで使用される構文は PHP ですが、これはチーム開発におけるタスクの分離には不便です。 Cakephp は、フレームワークによって提供されるスキャフォールディング、コア コンポーネント、およびいくつかのクラスを使用して、小規模なプロジェクトに非常に優れた能力を発揮し、プロジェクトを迅速かつ簡単に構築できます。私はcakephpを初めて使用するので、私の理解に偏りがあるかもしれません。
http://www.bkjia.com/PHPjc/324969.html
www.bkjia.com
truehttp://www.bkjia.com/PHPjc/324969.html技術記事まず、cakephp の実行プロセスを見てみましょう (画像は百度百科事典からお借りしました): 1: まず、サーバーが書き換えをサポートしている必要があります。書き換えをサポートしていない仮想ホストの場合、cakephp は...