初心者のためのCakePHPフレームワークチュートリアル

CakePHPとは何ですか?

CakePHP は、PHPアプリの開発と保守をはるかに簡単にするのに役立つオープンソースフレームワークです。 これは、MVCアーキテクチャの概念に基づいています。 これは、ビジネスロジックをデータおよびプレゼンテーションレイヤーから分離するのに役立ちます。

このCakePHPチュートリアルでは、以下を学習します。

なぜCakePHPフレームワークを使用するのですか?

CakePHPフレームワークを使用する主な利点/長所は次のとおりです。

  • Cake PHPは、最も高速なWeb開発プラットフォームの1つです。
  • CakePHPを使用すると、開発者はデータベースとSQLクエリをより細かく制御できます。
  • これは、ユーザーが環境の柔軟性を急速に失うことなく、堅牢なWebアプリケーションを開発するのに役立ちます。
  • PostgreSQL、SQLite、MySQL、PEAR-DB for ADODB、データベース抽象化ライブラリのサポート。
  • 検索エンジンに優しいURLを促進します
  • アプリを安全にする入力検証ツールやサニタイズツールなどの機能を提供します。
  • おなじみのPHP構文でテンプレート化

CakePHPの歴史

  • CakePHPは、2005年4月15日にMichalTatarynowiczによって開発されました。
  • CakePHPはそれをMITライセンスの下で公開し、コミュニティ開発者に公開しました。
  • 2005年7月、Larry EMastersが主任開発者を引き継ぎました。
  • バージョン1.0は2006年にリリースされました。
  • バージョン2は2011年にリリースされました
  • バージョン3は2014年にリリースされましたが、これは以前のバージョンを完全に取り消したものです。
  • バージョン3.3.3。 Of CakePHPは、2016年9月に多くの高度な機能とともにリリースされました。
  • バージョン3.7.9は、2019年6月19日にリリースされた最後のバージョンです。

CakePHPの機能

CakePHPの重要な機能は次のとおりです。

  • アクティブでフレンドリーなコミュニティ
  • MVCアーキテクチャ
  • 組み込みの検証
  • Apache構成が含まれるかどうかに関係なく、任意のWebサイトディレクトリから機能します。
  • テンプレートエンジン
  • キャッシング操作
  • 簡単なCRUDデータベースの相互作用。
  • 組み込みの検証
  • 電子メール、Cookie、セキュリティ、セッション、リクエストなどのHandlinコンポーネント
  • JavaScript、AJAX、HTMLフォームなどのヘルパーを表示する

CakePHP-フォルダ構造

以下はCakePHPのフォルダ構造です。

フォルダ 説明
テスト このフォルダーには、アプリケーションのテストケースが含まれています。
Tmp 一時フォルダには一時データが保存されます。
ベンダー このフォルダーはCakePHPを保存するのに役立ち、他のアプリケーションの依存関係がインストールされます。
Webroot Webrootは、一般にアクセス可能にしたいすべてのファイルを保存します。
置き場 binフォルダーには、Cakeコンソールの実行可能ファイルが保持されます。
ログ ログファイルが含まれていますが、これはログ構成によって異なります。
構成 configフォルダーには、CakePHPが使用する構成ファイルが格納されます
プラグイン このフォルダーには、アプリケーションのプラグインが含まれています。 アプリケーションが使用するプラグインが保存される場所です。
Src これには、アプリケーションを管理するためのコンソールタスクとコマンドが含まれています。

ロケール国際化のために文字列ファイルを格納します。

モデルアプリケーションのテーブル、エンティティ、および動作が含まれます。

CakePHPの構成

CakePHPには、デフォルトで単一の構成ファイルが付属しています。 また、要件に応じて変更することもできます。 この目的のために与えられた「config」と呼ばれるフォルダがあります。

変数名 説明
デバッグ CakePHPのデバッグ出力を変更できます。
App.namespace 下のアプリクラスを見つけるのに役立ちます。
App.baseUrl CakePHPでApacheのmod_rewriteを使用したくない場合は、このキーワードのコメントを解除してください。
App.encoding このコマンドを使用すると、アプリケーションで使用するエンコーディングを定義できます。
App.base これは、アプリが存在するベースディレクトリです。falseの場合、これは自動検出されます。
App.fullBaseUrl 修飾ドメイン名
App.webroot これはwebrootディレクトリです。
App.wwwRoot Webルートへのファイルパス。
App.jsBaseUrl パブリックjsディレクトリへのパス。
App.paths 非クラスベースのリソースのパスを構成します。
App.cssBaseUrl これは、webrootの下のパブリックcssディレクトリへのWebパスです。
Security.salt ハッシュで使用されるランダムな文字列です。
Asset.timestamp この変数を使用すると、適切なヘルパーを使用するときにタイムスタンプを追加できます。

Cake-PHPの命名規則

Cakeは、設定より規約の考え方に従います。 命名規則により、Webアプリケーションの操作を整理できます。 このメソッドでは、ファイルに名前を付けるときは名前の複数の単語を「_」で区切り、クラスに名前を付けるときはキャメルケースで区切る必要があります。

MVCパーツは、以下の構文に従う必要があります。

ファイル名 クラス名 基本クラス名 ロケーション
モデル ファイル名拡張子が.phpのテーブル名の単数形例:order.php キャメルケースのファイル名、例:注文 AppModel / app / models
コントローラ 拡張子が.phpのtablename_controller、例:ordcrs_controllcr.php コントローラーに追加されたテーブル名、例:OrdcrsController AppController / app / controllers
見る 拡張子が.ctpのコントローラーのアクション名(例:add.ctp) クラスはありません。 ビューcHTMLタグとPHP。 ‘ / app / vuews /コントローラー名

データベース構成

CakePHPを使用すると、データベースを構成できます。 config / app.php ファイル。 それはあなたがあなたの選択に従って修正することができる提供されたパラメータとのデフォルトの接続を提供します。

重要なパラメータを以下に示します。

データベース データベースの名前
ポート(オプション)エンコーディング サーバーへの接続に使用されるTCPポートまたはUnixソケット。
タイムゾーン 設定するサーバーのタイムゾーン。
スキーマ 使用できるスキーマを指定するのに役立ちます。
unix_socket このデータベースは、ドライバーがUnixソケットファイルを介して接続するために使用します。
SSLキー SSLキーファイルへのファイルパスです。
ssl_cert SSL証明書ファイルへのファイルパスです。
ssl_ca これは、SSL認証局へのファイルパスです。
ログ この用語は、クエリログの実行に役立ちます。
初期化 接続が作成されるたびにデータベースサーバーに送信する必要があるクエリのリスト。
予約語や特殊文字を使用する場合はtrueに設定します

CakePHPでMVCはどのように機能しますか?

これは、Webアプリケーションの主要なメカニズムを構築するための動的な方法です。 モデル、ビュー、およびコントローラー-は互いに分離します。

Cake PHPは、操作を3つの部分に分割します。

  • モデル:すべてのデータベースの相互作用に使用されます。
  • ビュー:すべての出力と表示に使用されます。
  • コントローラ:アプリケーションフローを制御するために使用されます

CakePHPでMVCアーキテクチャを使用する手順は次のとおりです。

ステップ1) クライアントまたはユーザーがビューを操作します

ステップ2) 特定のイベントのアラートコントローラーを表示します。

ステップ3) データベース要求をモデルに送信し、コントローラーがモデルを更新します。

ステップ4) モデルアラートは、変更されたことを表示します。

ステップ5) ビューはモデルデータを受信し、受信したデータに従って自身を更新します。

なぜMVCを使用するのですか?

  • CakePHP MVCは、ビジネスロジックをプレゼンテーションやデータ取得から分離するのに役立ちます。
  • サイトは、特定のコントローラーで管理できる論理セクションに分割されています。
  • アプリケーションをテストおよびデバッグする場合、開発者は、コードの完全な詳細がなくても、エラーを見つけて修正するのに役立ちます。

CakePHPフレームワークを使用することのデメリット

  • CakePHPのドキュメントサポートは、本来あるべきほど包括的ではありません。
  • CakePHPソフトウェアを使用するには、開発者は派手なURLを作成するためのデフォルトルートを更新する必要があります。これは、他のPHPフレームワークと比較してはるかに多くの作業です。
  • 他のフレームワークと比較したCakePHPの一方向ルーティング。
  • PHPフレームワークの学習は簡単ではありません。
  • Ruby on Railsなどのフレームワークと比較した場合、一方向のルーティングを提供することはもう1つの欠点です。

概要

  • CakePHPは、PHPアプリの開発と保守をはるかに簡単にするのに役立つオープンソースフレームワークです。
  • CakePHPを使用すると、開発者はデータベースとSQLクエリをより細かく制御できます。
  • 2005年4月15日にMichalTatarynowiczによって開発されました
  • MVCアーキテクチャと組み込みの検証はCakePHPの最も重要な機能です
  • CakePHPには、デフォルトで単一の構成ファイルが付属しており、要件に応じて変更できます。
  • CakePHPの命名規則により、Webアプリケーションの操作を整理できます。
  • CakePHPを使用すると、config /app.phpファイルでデータベースを構成できます。
  • Cake PHPは、MVC操作を次の3つの部分に分割します。
  • モデル:すべてのデータベースの相互作用に使用、ビュー:すべての出力と表示に使用、コントローラー:アプリケーションフローの制御に使用
  • CakePHPでMVCを使用する最大の利点は、ビジネスロジックをプレゼンテーションやデータ取得から分離するのに役立つことです。
  • CakePHPの最大の欠点は、CakePHPのドキュメントサポートが本来あるべきほど包括的ではないことです。

Hope this helps!

Source link