初心者のための CakePHP チュートリアル: CakePHP フレームワークとは何ですか?
CakePHP チュートリアルの概要
この CakePHP チュートリアルでは、すべての基本概念を最初から学びます。このチュートリアルでは、CakePHP の定義、歴史、機能、フォルダー構造と構成、および CakePHP フレームワークの仕組みの簡単な詳細について説明します。
CakePHP とは何ですか?
CakePHP は、PHP で構築された Web アプリケーションの迅速な開発と保守のためのオープンソース フレームワークです。MVC アーキテクチャの概念に基づいており、少ないコードで PHP Web アプリケーションを簡単かつシンプルに構築できます。CakePHP は、ビジネス ロジックをデータ層とプレゼンテーション層から分離するのにも役立ちます。
CakePHP フレームワークを使用する理由
CakePHP フレームワークを使用する主な利点/長所は次のとおりです。
- Cake PHP は、最も高速な Web 開発プラットフォームの XNUMX つです。
- CakePHP を使用すると、開発者はデータベースと SQL クエリの制御を強化できます。
- これにより、ユーザーは環境の柔軟性を急速に失うことなく、堅牢な Web アプリケーションを開発できるようになります。
- へのサポート PostgreSQL, SQLite, MySQL, PEAR-DB for ADODB、データベース抽象化ライブラリ。
- 検索エンジンに優しい URL を容易にします
- アプリを安全にする入力検証やサニタイズツールなどの機能を提供します。
- 使い慣れた PHP 構文を使用したテンプレート化
CakePHP の歴史
この CakePHP チュートリアルでは、CakePHP フレームワークの歴史について説明します。
年式 | マイルストーン |
---|---|
2005 | CakePHP は、15 年 2005 月 XNUMX 日に Michal Tatarynowicz によって開発されました。 |
2005 | CakePHP は MIT ライセンスの下で公開され、コミュニティ開発者に公開されました。 |
2005 | ラリー E マスターズが主任開発者として引き継ぎました。 |
2006 | バージョン1.0がリリースされました |
2011 | バージョン2がリリースされました |
2014 | 以前のバージョンを完全に無効にしたバージョン 3 がリリースされました。 |
2016 | バージョン3.3.3。 CakePHP は多くの高度な機能を備えてリリースされています。 |
2019 | バージョン 3.7.9 はリリースされた最後のバージョンです |
2021 | CakePHP コアチームが CakePHP 4.2.2 の即時利用可能性を発表 |
CakePHPの特徴
CakePHP の重要な機能を次に示します。
- 活発でフレンドリーなコミュニティ
- MVCアーキテクチャ
- 組み込みの検証
- Apache 設定が一部またはまったく関係なく、任意の Web サイト ディレクトリから動作します。
- テンプレートエンジン
- キャッシング Operaン
- 簡単な CRUD データベース操作。
- 組み込みの検証
- メール、Cookie、セキュリティ、セッション、リクエストなどのコンポーネントの処理
- ヘルパーを表示 Javaスクリプト, アヤックス、HTML フォームなど
CakePHP - フォルダー構造
この CakePHP フレームワーク チュートリアルでは、CakePHP フォルダー構造について学びます。
以下は CakePHP のフォルダー構造です。
フォルダ | 詳細説明 |
---|---|
テスト | このフォルダーには、アプリケーションのテスト ケースが含まれています。 |
温度 | temp フォルダーには一時データが保存されます。 |
ベンダー | このフォルダーは CakePHP を保存するのに役立ち、他のアプリケーションの依存関係がインストールされます。 |
Webroot | 当学校区の Webroot パブリックにアクセスできるようにしたいすべてのファイルを保存します。 |
ビン | bin フォルダーには、Cake コンソールの実行可能ファイルが保存されます。 |
ログ | これにはログ ファイルが含まれており、ログ ファイルはログ構成に応じて異なります。 |
設定 | config フォルダーには、CakePHP が使用する設定ファイルが保存されます。 |
プラグイン | このフォルダーには、アプリケーションのプラグインが含まれています。 アプリケーションが使用するプラグインが保存される場所です。 |
Src | これには、アプリケーションを管理するためのコンソール タスクとコマンドが含まれています。
ロケール 国際化用の文字列ファイルを保存します。 モデル アプリケーションのテーブル、エンティティ、および動作が含まれます。 |
CakePHPの構成
CakePHP にはデフォルトで XNUMX つの設定ファイルが付属しています。 要件に応じて変更することもできます。 この目的のために「config」というフォルダーが用意されています。
変数名 | 詳細説明 |
---|---|
デバッグ | CakePHP デバッグ出力を変更できます。 |
App.名前空間 | アプリのクラスを見つけるのに役立ちます。 |
App.baseURL | CakePHP で Apache の mod_rewrite を使用したくない場合は、このキーワードのコメントを解除します。 |
アプリのエンコーディング | このコマンドを使用すると、アプリケーションで使用するエンコーディングを定義できます。 |
アプリベース | これはアプリが存在するベース ディレクトリです。 false の場合、これは自動検出されます。 |
App.fullBaseUrl | 修飾ドメイン名 |
アプリ.webroot | これは Web ルート ディレクトリです。 |
App.wwwRoot | Webルートへのファイル パス。 |
App.jsBaseUrl | パブリック js ディレクトリへのパス。 |
アプリのパス | 非クラスベースのリソースのパスを構成します。 |
App.cssBaseUrl | これは、Web ルートの下のパブリック CSS ディレクトリへの Web パスです。 |
セキュリティ.ソルト | ハッシュ化に使用されるランダムな文字列です。 |
アセット.タイムスタンプ | この変数を使用すると、適切なヘルパーを使用するときにタイムスタンプを追加できます。 |
Cake-PHP 命名規則
Cake は、設定より規約という考え方に従います。命名規約方式を使用すると、Web アプリケーションの操作を整理できます。この方式では、ファイル名を付けるときに名前の複数の単語を「_」で区切る必要があり、クラス名を付けるときにはキャメルケースを使用する必要があります。
MVC 部分は、以下の指定された構文に従う必要があります。
ファイル名 | クラス名 | 基本クラス名 | サービス提供先 | |
---|---|---|---|---|
モデル | ファイル名 .php 拡張子を付けたテーブル名の単数形例: order.php |
キャメルケースのファイル名、例: Order | アプリモデル | /アプリ/モデル |
コントローラー | tablename_controller .php 拡張子付き、例: ordcrs_controllcr.php | テーブル名に追加されたコントローラー (例: OrdcrsController) | アプリコントローラー | /app/コントローラー |
表示 | .ctp 拡張子が付いたコントローラー内のアクション名 (例: add.ctp) | 授業はありません。 a ビュー c HTML タグと PHP。 ' | /app/vuews/コントローラー名 |
データベースの構成
CakePHP を使用すると、データベースを設定できます config / app.php ファイル。 これは、選択に応じて変更できる提供されたパラメーターを使用したデフォルトの接続を提供します。
重要なパラメータを以下に示します。
データベース | データベースの名前 |
---|---|
ポート (オプション) エンコーディング |
サーバーへの接続に使用される TCP ポートまたは Unix ソケット。 |
タイムゾーン | 設定するサーバーのタイムゾーン。 |
スキーマ | これは、使用できるスキーマを指定するのに役立ちます。 |
unix_socket | このデータベースは、ドライバーが Unix ソケット ファイル経由で接続するために使用します。 |
SSLキー | SSL キー ファイルへのファイル パスです。 |
ssl_cert | SSL証明書ファイルへのファイルパスです。 |
ssl_ca | SSL認証局へのファイルパスです。 |
歳入録 | この用語は、クエリ ログの実行に役立ちます。 |
その中に | 接続が作成されるたびにデータベース サーバーに送信されるクエリのリスト。 |
予約語または特殊文字を使用する場合は true に設定します。 |
MVC は CakePHP でどのように動作しますか?
この CakePHP フレームワーク チュートリアルでは、CakePHP で MVC がどのように機能するかを学びます。
これは、Web アプリケーションの主要なメカニズムを構築する動的な方法です。 モデル、ビュー、コントローラーは相互に分離されています。
Cake PHP は操作を 3 つの部分に分割します。
- モデル: すべてのデータベース対話に使用されます。
- ビュー: すべての出力と表示に使用されます。
- コントローラー: アプリケーション フローの制御に使用されます。
CakePHP で MVC アーキテクチャを使用する手順は次のとおりです。
ステップ1) クライアントまたはユーザーがビューを操作する
ステップ2) 特定のイベントのアラート コントローラーを表示します。
ステップ3) データベースリクエストをモデルに送信し、コントローラーはモデルを更新します。
ステップ4) モデルは変更されたことをビューに警告します。
ステップ5) View はモデル データを受信し、受信したデータに従って自身を更新します。
MVC を使用する理由
- CakePHP MVC は、ビジネス ロジックをプレゼンテーションやデータ取得から分離するのに役立ちます。
- サイトは論理セクションに分割されており、特定のコントローラーで管理できます。
- アプリケーションをテストおよびデバッグする場合、開発者はコードの詳細がなくてもエラーを見つけて修正するのに役立ちます。
CakePHP フレームワークを使用するデメリット
- CakePHP のドキュメント サポートは、必要なほど包括的ではありません。
- CakePHP ソフトウェアを使用するには、開発者は派手な URL を作成するためにデフォルト ルートを更新する必要がありますが、これは他の PHP フレームワークに比べてはるかに手間がかかります。
- 他のフレームワークと比較した CakePHP の一方向ルーティング。
- PHPを学ぶ 枠組みは簡単ではありません。
- Ruby on Rails などのフレームワークと比較した場合、一方向のルーティングを提供することも欠点です。
製品概要
- CakePHP は、PHP アプリの開発とメンテナンスを大幅に容易にするオープンソース フレームワークです。
- CakePHP を使用すると、開発者はデータベースと SQL クエリの制御を強化できます。
- 15 年 2005 月 XNUMX 日に Michal Tatarynowicz によって開発されました。
- MVCアーキテクチャと組み込み検証はCakePHPの最も重要な機能です
- CakePHP にはデフォルトで XNUMX つの設定ファイルが付属しており、要件に応じて変更できます。
- CakePHP の命名規則方式を使用すると、Web アプリケーションの動作を整理できます。
- CakePHP では、config/app.php ファイルでデータベースを設定できます。
- Cake PHP は MVC 操作を 3 つの部分に分割します。
- モデル: すべてのデータベース対話に使用され、ビュー: すべての出力および表示に使用され、コントローラー: アプリケーション フローの制御に使用されます。
- CakePHP で MVC を使用する最大の利点は、ビジネス ロジックをプレゼンテーションやデータ取得から分離できることです。
- CakePHP の最大の欠点は、CakePHP のドキュメント サポートが本来あるべきほど包括的ではないことです。