目次
モデルとデータベースの命名規則" >モデルとデータベースの命名規則
コントローラの命名規則" >コントローラの命名規則
コントローラのクラス名と URL アドレス
命名規則を表示" >命名規則を表示
概要" >概要

CakePHP2 命名標準

Jun 13, 2016 pm 01:03 PM
cakephp controller people

CakePHP2 命名規則

?

CakePHP の命名規則は非常に重要です。CakePHP フレームワークの命名規則に従うことで、フレームワークにさまざまな関数を組み込むことができます。 CakePHP2 のリリース後、命名規則は古いフレームワークと変わりません。この記事は CakePHP 2.x と CakePHP 1.x の両方のフレームワークに適用されます。

一般に、 はファイル名にアンダースコアを使用し、クラス名にはキャメルケース を使用します。たとえば、MyNiftyClass クラスに対応するファイル名は my_nifty_class.php です。以下は、さまざまなタイプのクラスとそれに対応するファイル命名メソッドの例です。

コントローラー クラス KissesAndHugsController は、kisses_and_hugs_controller.php ファイルにあります (ファイル名の _controller に注意してください)。

コンポーネント クラス MyHandyComponent は、my_handy.php ファイルにあります。

モデル クラス OptionValue は、option_value.php ファイルにあります。

動作クラス SpeciallyFunkableBehavior は、specially_funkable.php ファイルにあります。

ビュー クラス SuperSimpleView は、super_simple.php ファイルにあります。

ヘルパー クラス BestEverHelper は、best_ever.php ファイルにあります。

上記の各ファイルは、対応するフォルダーに保存されます。

概要: クラス名では、モデル クラスを除き、コントローラー、コンポーネント、ビヘイビアーなど、クラスの ID をクラス名でマークする必要があります。ファイル名では、コントローラー クラスのみを識別する必要があります。つまり、ファイルの最後に _controller.

を追加します。

モデルとデータベースの命名規則

モデルのクラス名には、単数形のキャメルケース命名 が使用されており、これはすべて従来のモデルの命名です。

テーブル名には複数の数字とアンダースコア を使用して名前を付ける必要があります。上記のモデルに対応するテーブル名は、people、big_people、really_big_people です。

「屈折語」ライブラリを使用して、単語の単数形と複数形を確認できます。

first_name など、アンダースコアで名前が付けられた 2 つ以上の単語を含むフィールド名。

hasMany、belongsTo、および hasOne 関係では、外部キーはデフォルトで関連テーブルに _id を加えたもので表されます。たとえば、Baker と Cake の関係が 1 対多の場合、cakes テーブルに baker_id 外部キーがあり、Bakes テーブルと関連付けられます (ここで関連付けられている外部キーは単数であることに注意してください)。 category_types など、複数の単語で構成されるテーブル名の場合、外部キーは category_type_id になります。つまり、テーブル名は複数形ですが、他のテーブルに存在するこのテーブルの外部キーは単数形で名前を付ける必要があります。

一般に、リンク テーブルは多対多の関係にあります。リンク テーブルのフィールドに名前を付ける 1 つの方法は、リンク テーブル内でフィールドをアルファベット順に配置することです。 zebras_apples ではなく、 apples_zebras です。

CakePHP モデルが対話するすべてのテーブルには、データの各行を識別するための一意の主キーが必要です。 CakePHP は複合主キーをサポートしていません。リンクされたテーブルのデータを直接操作したい場合は、SQL ステートメントを直接使用できます。

増分フィールドを主キーとして使用することに加えて、char(36) を主キーとして使用することもできます。 odel::save メソッドを使用してレコードを保存すると、CakePHP はこのフィールドを自動的に認識し、(String::uuid) を使用して 36 ビット文字列を一意の主キーとして生成します。

コントローラの命名規則

コントローラのクラス名は複数のキャメルケースを使用し、Controllerで終わります。 PeopleController とlatestArticlesControlle はどちらも正当なコントローラーの命名方法です。

コントローラーの最初のメソッドは、index() メソッドである必要があります。リクエストでコントローラーのみが指定され、アクション メソッドが指定されていない場合、CakePHP はデフォルトでコントローラーの Index() メソッドを実行します。

コントローラー メソッド名の前にアンダースコアを追加することで、コントローラー メソッドの表示スコープを変更できます。コントローラー メソッドの前にアンダースコアが付いている場合、そのメソッドは内部でのみ使用可能であり、ブラウザーからはアクセスできません。

コントローラのクラス名と URL アドレス

単一単語のコントローラーは、小文字の URL に簡単にマッピングできます。たとえば、ApplesController には http://example.com/apples からアクセスできます。

マルチワード コントローラのアクセス アドレスは、コントローラ名を任意に変形したものにすることができます。

  • /redApples
  • /レッドアップル
  • /Red_apples
  • /red_apples

はすべて、RedApples コントローラーのインデックス メソッドを指すことができます。ただし、命名規則では、URL アドレスは小文字の単語とそれに続くアンダースコアで構成する必要があると規定されています。したがって、/red_apples/go_pick は RedApplesController::go_pick メソッドをリクエストする正しい形式です。

命名規則を表示

ビュー テンプレート ファイルの名前は、コントローラー メソッドを呼び出すことによって付けられます。複数の単語はアンダースコアで区切られます。 PeopleController クラスの getReady() メソッドは、/app/views/people/get_ready.ctp ビュー テンプレートに自動的に関連付けられます。

命名方法は /app/views//.ctp です。

概要

データベース テーブル名: people
モデル クラス: person、パス app/models/person.php
コントローラー クラス: PeopleController、パス app/contollers/people_controller.php
ビュー クラス: app/views / people/index.ctp

この命名規則を使用すると、CakePHP は http://example.com/people/ を PeopleController コントローラーの Index() メソッドにマップすることができ、コントローラー内で Person モデルを直接使用でき、モデルは自動的に使用されます。 people テーブルがバインドされてからビューが出力されます。 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衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

CakePHP プロジェクトの構成 CakePHP プロジェクトの構成 Sep 10, 2024 pm 05:25 PM

この章では、CakePHP の環境変数、一般設定、データベース設定、電子メール設定について理解します。

CakePHP でデータベース クエリ ビルダーを使用するにはどうすればよいですか? CakePHP でデータベース クエリ ビルダーを使用するにはどうすればよいですか? Jun 04, 2023 am 09:02 AM

CakePHP は、Web アプリケーション開発で広く使用されているオープンソースの PHPMVC フレームワークです。 CakePHP には、インタラクティブなパフォーマンス データベース用の強力なデータベース クエリ ビルダーなど、多くの機能とツールがあります。このクエリ ビルダーを使用すると、面倒な SQL ステートメントを作成することなく、オブジェクト指向構文を使用して SQL クエリを実行できます。この記事では、CakePHP でデータベース クエリ ビルダーを使用する方法を紹介します。データベース接続の確立 データベース クエリ ビルダーを使用する前に、まず Ca でデータベース接続を作成する必要があります。

CakePHP データベースの操作 CakePHP データベースの操作 Sep 10, 2024 pm 05:25 PM

CakePHP でデータベースを操作するのは非常に簡単です。この章では、CRUD (作成、読み取り、更新、削除) 操作について理解します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP でカスタム ページネーションを作成するにはどうすればよいですか? CakePHP でカスタム ページネーションを作成するにはどうすればよいですか? Jun 04, 2023 am 08:32 AM

CakePHP は、開発者に多くの便利なツールと機能を提供する強力な PHP フレームワークです。その 1 つはページネーションです。これは、大量のデータを複数のページに分割し、閲覧と操作を容易にするのに役立ちます。デフォルトでは、CakePHP はいくつかの基本的なページネーション メソッドを提供しますが、場合によってはカスタムのページネーション メソッドを作成する必要がある場合があります。この記事では、CakePHP でカスタム ページネーションを作成する方法を説明します。ステップ 1: カスタム ページネーション クラスを作成する まず、カスタム ページネーション クラスを作成する必要があります。これ

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP ルーティング CakePHP ルーティング Sep 10, 2024 pm 05:25 PM

この章では、ルーティングに関連する次のトピックを学習します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

See all articles