検索

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 までご連絡ください。
如何使用CakePHP中的数据库查询构造器?如何使用CakePHP中的数据库查询构造器?Jun 04, 2023 am 09:02 AM

CakePHP是一个开源的PHPMVC框架,它广泛用于Web应用程序的开发。CakePHP具有许多功能和工具,其中包括一个强大的数据库查询构造器,用于交互性能数据库。该查询构造器允许您使用面向对象的语法执行SQL查询,而不必编写繁琐的SQL语句。本文将介绍如何使用CakePHP中的数据库查询构造器。建立数据库连接在使用数据库查询构造器之前,您首先需要在Ca

如何在CakePHP中创建自定义分页?如何在CakePHP中创建自定义分页?Jun 04, 2023 am 08:32 AM

CakePHP是一个强大的PHP框架,为开发人员提供了很多有用的工具和功能。其中之一是分页,它可以帮助我们将大量数据分成几页,从而简化浏览和操作。默认情况下,CakePHP提供了一些基本的分页方法,但有时你可能需要创建一些自定义的分页方法。这篇文章将向您展示如何在CakePHP中创建自定义分页。步骤1:创建自定义分页类首先,我们需要创建一个自定义分页类。这个

如何使用PHP和CakePHP框架进行应用程序开发如何使用PHP和CakePHP框架进行应用程序开发May 11, 2023 pm 03:39 PM

在当今数字化时代,应用程序对于企业和个人来说,已经成为了不可或缺的一部分。应用程序能够让人们更加便捷地进行各种操作,而PHP和CakePHP框架则是日益流行的应用程序开发工具。在本文中,我们将讨论如何使用PHP和CakePHP框架进行应用程序开发。一、PHP是什么?PHP(外文全称为“HypertextPreprocessor”)是一种开源的服务器端脚本语

如何在CakePHP中使用FPDF?如何在CakePHP中使用FPDF?Jun 03, 2023 pm 06:32 PM

CakePHP是一种流行的PHP框架,用于开发Web应用程序。与许多其他PHP框架一样,CakePHP也提供了许多有用的功能和插件来帮助业务流程,其中包括生成PDF文件。这项任务可以使用FPDF插件轻松完成。本文将介绍如何在CakePHP中使用FPDF。FPDF是一种开源的PHP类库,用于生成PDF文件。它具有许多有用的功能,例如嵌入字体、添加图像、绘制基本

如何在CakePHP中使用Guzzle?如何在CakePHP中使用Guzzle?Jun 03, 2023 pm 01:51 PM

CakePHP是一款优秀的PHP开发框架,它通过提供一系列强大的功能和工具,简化了Web应用程序的开发过程。而Guzzle是一个PHPHTTP客户端和请求库,它能够帮助开发者轻松地发送HTTP请求和访问Web服务。在本文中,我们将介绍如何在CakePHP中使用Guzzle,以便更加高效地开发Web应用程序。一、安装Guzzle首先,我们需要在CakePHP

如何在CakePHP中使用多个数据库连接?如何在CakePHP中使用多个数据库连接?Jun 04, 2023 am 08:21 AM

CakePHP是一款流行的PHP开发框架,它提供了快速开发Web应用程序所需的基本功能和结构。在现代应用中,使用多个数据库连接已经成为了一个普遍的需求,例如,建立主从数据库连接或将数据分片到不同的数据库中。本文将介绍如何在CakePHP中使用多个数据库连接。CakePHP中的默认数据库连接在开始之前,让我们先了解一下CakePHP中默认的数据库连接。Cake

如何在CakePHP中进行数据查询和更新?如何在CakePHP中进行数据查询和更新?Jun 03, 2023 pm 02:11 PM

CakePHP是一个流行的PHP框架,它提供了方便的ORM(对象关系映射)功能,使得查询和更新数据库变得非常容易。本文将介绍如何在CakePHP中进行数据查询和更新。我们将从简单的查询和更新开始,逐步深入,了解如何使用条件和关联的模型来更复杂地查询和更新数据。基本查询首先,让我们看看如何进行最简单的查询。假设我们有一个名为“Users”的数据表,并且我们想要

如何使用CakePHP中的Cookie组件?如何使用CakePHP中的Cookie组件?Jun 03, 2023 pm 06:31 PM

CakePHP是一款流行的PHP框架,它为Web开发提供了许多便利的功能。其中一个非常有用的功能是Cookie组件。在本文中,我们将介绍如何在CakePHP中使用Cookie组件来存储和检索数据。一、什么是Cookie?Cookie是一个小的数据片段,存储在网站上的用户计算机上。它可以用来存储用户喜好、登陆信息和其他相关的数据。Cookie可以被服务器和客户

See all articles

ホット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ヘンタイを無料で生成します。

ホットツール

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

MantisBT

MantisBT

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

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

メモ帳++7.3.1

メモ帳++7.3.1

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

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、