CakePHP の理解用のメモ

CakePHP を基本とし AngularJS を補足的に追加していきたい(願望

CakePHP の規約 - 3.x

  • コントローラーの規約
    • コントローラーのクラス名は複数形でパスカルケースで、最後に Controller が付きます。
  • データベースの規約
    • CakePHP のモデルに対応するテーブル名は、複数形でアンダースコアー記法です。
    • 二個以上の単語で構成されるフィールド/カラムの名前は、 first_name のようにアンダースコアー記法になります。
  • モデルの規約
  • ビューの規約
    • ビューのテンプレートファイルは、それを表示するコントローラーの関数に合わせた、 アンダースコアー記法で命名されます。
    • 基本パターンは、 src/Template/コントローラー名/アンダースコアー記法_関数名.ctp です。
不明点

要約 に Table クラス と Entity クラス があり、どう使い分けるのか不明。
クイックスタートガイド - 3.x

  • Table オブジェクトは、指定されたテーブルの中に保存されたエンティティーの集合へのアクセスを提供します。
  • エンティティーは、 データベースの1つのレコードを表し、データに対して行レベルの振る舞いを提供します。

Javaでいう所の Repository みたいですね。
Java の Repository が CakePHP の Table
Java の Entity が CakePHP の Entity

CakePHP のフォルダー構成 - 3.x

CakePHPの開発ソースは以下src直下のフォルダに配置する。
AngularJS はフロントエンドなので公開ディレクトリの webroot 配下に配置する。

  • src
    • Controller
    • Model
    • Template
  • webroot
    • bower_components
      • angularjs

クイックスタートガイド - 3.x

  • データベースの設定
    • config/app.php
      • Datasources
  • テンプレートの中に記事を渡すために set() を使用します。CakePHP は、 コントローラーのアクションが完了した後、自動的にテンプレートを描画します。