まず、cakephp の実行プロセスを見てみましょう (画像は百度百科から借用):
1: まず、サーバーが書き換えをサポートしていない仮想ホストである必要があります。リライトをサポートすると、cakephp が正常に動作しなくなります。
2: すべてのリクエストをcakephpフレームワークに送信し、フレームワークのルートを入力します。cakephpにはデフォルトの配布ルールのセットが付属しています(例: http://.../test/test、ルート設定はありません)。この場合、cakephp は test_controller コントローラーのテスト メソッドを自動的に実行します)。
ルートを構成することで、実行したいリクエストをコントローラーとメソッドに送信できます。構成は次のとおりです (app/config/routes.php):
Copyコード コードは次のとおりです:
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->gt;{$var}); $app = Set::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})) ;
}
}
}
4, 5, 6: コントローラーとモデルが直接ビジネスロジックを扱う処理です。 注意すべき点は、cakephp のモデルは AppModel から一部のデータベース操作メソッドが実装されていることです。デフォルトでデータベース内のテーブルに関連付けられます。これはあまり良いことではありません。モデルはデータベースの単なる操作層です。
7: 業務処理が完了したら、最終データをHTMLに統合してブラウザに出力する必要があります。 Cakephp のビューには、レイアウト ファイル、要素ファイル、およびテンプレート ファイルが含まれています。これらのファイルは、バージョン 1.3 で ctp のサフィックスを採用しており、var $ext = '.ctp' を変更してテンプレートのサフィックスを変更できます。ファイル。
要約:cakephp フレームワークは使用するには柔軟性が不十分であり、モデル層には制限があります。ビュー ファイルで使用される構文は PHP ですが、これはチーム開発におけるタスクの分離には不便です。 Cakephp は、フレームワークによって提供されるスキャフォールディング、コア コンポーネント、およびいくつかのクラスを使用して、小規模なプロジェクトに非常に優れた能力を発揮し、プロジェクトを迅速かつ簡単に構築できます。私はcakephpを初めて使用するので、私の理解に偏りがあるかもしれません。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

WebStorm Mac版
便利なJavaScript開発ツール

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

ホットトピック









