まず、cakephp の実行プロセスを見てみましょう (画像は百度百科から借用しました):
1: まず、サーバーが書き換えをサポートしている必要があります。書き換えをサポートしていない仮想ホストの場合、cakephp は実行されません。通常は。
2: すべてのリクエストをcakephpフレームワークに送信した後、フレームワークのルートを入力します。cakephpにはデフォルトの配布ルールのセットが付属しています(例: http://.../test/test、ルート設定はありません)。 test_controller コントローラーのテスト メソッドが自動的に実行されます)。
ルートを設定することで、実行したいリクエストをコントローラーとメソッドに送信できます。設定は次のとおりです (app/config/routes.php):
コードをコピーします コードは次のとおりです。
ルーター: :connect('/pages/*', array('controller' => 'test', 'action' => 'index'));
コードをコピーします コードは次のとおりです:
$this->test->find('all');
コードをコピーします コードは次のとおりです:
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' を変更してテンプレートのサフィックスを変更できます。ファイル。