検索
ホームページphp教程php手册Cakephp を始めるための基本

Cakephp を始めるための基本

Jun 13, 2016 pm 12:02 PM
cakephpはじめる写真ベース埋め込むプロセス百度百科事典


まず、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})) ;
}
}
}

cakephp がコントローラーを構築すると、uses 配列内のすべてのモデルがインスタンス化されます。
4, 5, 6: コントローラーとモデルが直接ビジネスロジックを扱う処理です。 注意すべき点は、cakephp のモデルは AppModel から一部のデータベース操作メソッドが実装されていることです。デフォルトでデータベース内のテーブルに関連付けられます。これはあまり良いことではありません。モデルはデータベースの単なる操作層です。
7: 業務処理が完了したら、最終データをHTMLに統合してブラウザに出力する必要があります。 Cakephp のビューには、レイアウト ファイル、要素ファイル、およびテンプレート ファイルが含まれています。これらのファイルは、バージョン 1.3 で ctp のサフィックスを採用しており、var $ext = '.ctp' を変更してテンプレートのサフィックスを変更できます。ファイル。
要約:cakephp フレームワークは使用するには柔軟性が不十分であり、モデル層には制限があります。ビュー ファイルで使用される構文は PHP ですが、これはチーム開発におけるタスクの分離には不便です。 Cakephp は、フレームワークによって提供されるスキャフォールディング、コア コンポーネント、およびいくつかのクラスを使用して、小規模なプロジェクトに非常に優れた能力を発揮し、プロジェクトを迅速かつ簡単に構築できます。私はcakephpを初めて使用するので、私の理解に偏りがあるかもしれません。
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

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

ホットツール

MantisBT

MantisBT

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

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

mPDF

mPDF

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

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン