Yii Framework 公式ガイド シリーズ 13 - 基礎: 開発仕様
Yii は設定よりも仕様を好みます。仕様に従うと、複雑な設定を作成したり維持したりすることなく、成熟した Yii アプリケーションを作成できます。 もちろん、Yii は必要に応じて設定を通じてほぼあらゆる面でカスタマイズできます。
以下では、Yii プログラミングにおける推奨開発仕様について説明します。 簡単にするために、WebRoot が Yii アプリケーションがインストールされているディレクトリであると仮定します。
1. URL
デフォルトでは、Yii は次の形式の URL を認識します:
http://www.php.cn/
r
GET 変数はルートを意味し、Yii はこれをコントローラーとアクションに解析できます。 ActionID
が省略された場合、ControllerID
も省略されている場合 (または r
)、コントローラーはデフォルトのアクション (CController::defaultAction で定義されている) を使用します。変数が存在しない場合)、アプリケーションはデフォルトのコントローラー (CWebApplication::defaultController で定義) を使用します。 r
GET 变量意为 路由(route) ,它可以被Yii解析为 控制器和动作。 如果 ActionID
被省略,控制器将使用默认的动作(在CController::defaultAction中定义); 如果 ControllerID
也被省略(或者 r
变量不存在),应用将使用默认的控制器 (在CWebApplication::defaultController中定义)。
通过 CUrlManager 的帮助,可以创建更加可识别,更加 SEO 友好的 URL,例如http://www.php.cn/
。此功能在 URL Management 中有详细讲解。
2. 代码
Yii 推荐命名变量、函数和类时使用 驼峰风格,即每个单词的首字母大写并连在一起,中间无空格。 变量名和函数名应该使它们的第一个单词全部小写,以使其区别于类名(例如:$basePath
, runController()
,LinkPager
)。对私有类成员变量来说,我们推荐以下划线作为其名字前缀(例如: $_actionList
)。
由于在 PHP 5.3.0 之前不支持名字空间,我们推荐类要通过某种独立的方式命名,以避免和第三方类发生冲突。鉴于此, 所有的 Yii 框架类名以 "C" 作前缀。
一个针对控制器名字的特殊规则是它们必须以单词 Controller
结尾。那么控制器 ID 即类名的首字母小写并去掉单词 Controller
。 例如,PageController
类的 ID 就是 page
。这个规则使应用更加安全。它还使控制器相关的URL更加简单(例如 /index.php?r=page/index
而不是 /index.php?r=PageController/index
)。
3. 配置
配置是一个键值对数组。每个键代表了所配置的对象中的属性名,每个值则为相应属性的初始值。 例如,array('name'=>'My application', 'basePath'=>'./protected')
初始化了 name
和 basePath
属性为它们相应的数组值。
类中任何可写的属性都可以被配置。如果没有配置,属性将使用它们的默认值。 当配置一个属性时,最好阅读相应文档以保证初始值正确。
4. 文件
命名和使用文件的规范取决于它们的类型。
类文件应以它们包含的公有类命名。例如, CController 类位于 CController.php
文件中。 公有类是可以被任何其他类使用的类。每个类文件应包含最多一个公有类。 私有类(只能被一个公有类使用的类)可以放在使用此类的公有类所在的文件中。
视图文件应以视图的名字命名。例如, index
视图位于 index.php
文件中。 视图文件是一个PHP脚本文件,它包含了用于呈现内容的 HTML和PHP代码。
配置文件可以任意命名。 配置文件是一个PHP脚本,它的主要目的是返回一个体现配置的关联数组。
5. 目录
Yii 假定了一系列默认的目录用于不同的场合。如果需要,每个目录都可以自定义。
WebRoot/protected
: 这是 应用基础目录, 是放置所有安全敏感的PHP脚本和数据文件的地方。Yii 有一个默认的application
别名指向此目录。 此目录及目录中的文件应该保护起来防止Web用户访问。它可以通过 CWebApplication::basePath 自定义。WebRoot/protected/runtime
: 此目录放置应用在运行时产生的私有临时文件。 此目录必须对 Web 服务器进程可写。它可以通过 CApplication::runtimePath自定义。WebRoot/protected/extensions
: 此目录放置所有第三方扩展。 它可以通过 CApplication::extensionPath自定义。WebRoot/protected/modules
: 此目录放置所有的应用 模块,每个模块使用一个子目录。-
CUrlManager を使用すると、WebRoot/protected/controllers
http://www.php.cn/
など、より識別しやすく SEO に適した URL を作成できます。この機能については、「URL 管理」で詳しく説明されています。 🎜🎜2. コード🎜🎜Yii では、変数、関数、クラスに名前を付けるときにキャメルケース スタイルを使用することをお勧めします。つまり、各単語の最初の文字を大文字にし、間にスペースを入れずに接続します。 変数名と関数名は、クラス名と区別するために最初の単語を小文字にする必要があります (例:$basePath
、runController()
、LinkPager
)。 。プライベート クラス メンバー変数の場合は、名前の前にアンダースコアを付けることをお勧めします (例:$_actionList
)。 🎜🎜 PHP 5.3.0 より前ではネームスペースがサポートされていないため、サードパーティのクラスとの競合を避けるために、クラスに何らかの独立した方法で名前を付けることをお勧めします。このため、すべての Yii フレームワークのクラス名には「C」という接頭辞が付けられます。 🎜🎜コントローラー名の特別なルールは、単語Controller
で終わる必要があることです。次に、コントローラー ID はクラス名の最初の文字が小文字になり、単語Controller
が削除されます。 たとえば、PageController
クラスの ID はpage
です。このルールにより、アプリケーションの安全性が高まります。また、コントローラー関連の URL も簡素化されます (例:/index.php?r=PageController/index
の代わりに/index.php?r=page/index
)。 🎜🎜3. 構成🎜🎜 構成はキーと値のペアの配列です。各キーは構成されたオブジェクト内のプロパティ名を表し、各値は対応するプロパティの初期値です。 たとえば、array('name'=>'My application', 'basePath'=>'./protected')
は、name
とbasePath 属性は、対応する配列値です。 🎜🎜クラス内の書き込み可能なプロパティはすべて設定できます。構成されていない場合、プロパティはデフォルト値を使用します。 プロパティを構成するときは、ドキュメントを読んで初期値が正しいことを確認することをお勧めします。 🎜🎜4. ファイル🎜🎜 ファイルの名前付けと使用の規則は、その種類によって異なります。 🎜🎜クラス ファイルには、そこに含まれるパブリック クラスにちなんで名前を付ける必要があります。たとえば、CController クラスは <code>CController.php
ファイルにあります。 パブリック クラスは、他のクラスから使用できるクラスです。各クラス ファイルには、パブリック クラスを 1 つだけ含める必要があります。 プライベート クラス (1 つのパブリック クラスでのみ使用できるクラス) は、それを使用するパブリック クラスと同じファイルに配置できます。 🎜🎜ビュー ファイルにはビューにちなんだ名前を付ける必要があります。たとえば、index
ビューはindex.php
ファイルにあります。 ビュー ファイルは、コンテンツのレンダリングに使用される HTML および PHP コードを含む PHP スクリプト ファイルです。 🎜🎜設定ファイルの名前は任意に付けることができます。 構成ファイルは、構成を具体化する連想配列を返すことを主な目的とする PHP スクリプトです。 🎜🎜5. ディレクトリ🎜🎜Yii は、さまざまな状況に応じて一連のデフォルトのディレクトリを想定しています。必要に応じて、各ディレクトリをカスタマイズできます。 🎜- 🎜
WebRoot/protected
: これは、セキュリティに敏感なすべての PHP スクリプトとデータ ファイルが配置されるアプリケーションのベース ディレクトリです。 Yii には、このディレクトリを指すデフォルトのapplication
エイリアスがあります。 このディレクトリとその中のファイルは、Web ユーザーによるアクセスから保護する必要があります。 CWebApplication::basePath を介してカスタマイズできます。 🎜 - 🎜
WebRoot/protected/runtime
: このディレクトリには、アプリケーションの実行時に生成されるプライベート一時ファイルが含まれます。 このディレクトリは、Web サーバー プロセスによって書き込み可能である必要があります。 CApplication::runtimePath を介してカスタマイズできます。 🎜 - 🎜
WebRoot/protected/extensions
: このディレクトリには、すべてのサードパーティ拡張機能が保持されます。 CApplication::extensionPath を介してカスタマイズできます。 🎜 - 🎜
WebRoot/protected/modules
: このディレクトリにはすべてのアプリケーション モジュールが配置され、各モジュールはサブディレクトリを使用します。 🎜 - 🎜
WebRoot/protected/controllers
: このディレクトリには、すべてのコントローラー クラス ファイルが含まれています。 CWebApplication::controllerPath を介してカスタマイズできます。 🎜 WebRoot/protected/views
: このディレクトリには、コントローラー ビュー、レイアウト ビュー、システム ビューを含むすべてのビュー ファイルが配置されます。 CWebApplication::viewPath を介してカスタマイズできます。WebRoot/protected/views
: 此目录放置所有试图文件, 包含控制器视图,布局视图和系统视图。 它可以通过 CWebApplication::viewPath 自定义。WebRoot/protected/views/ControllerID
: 此目录放置单个控制器类中使用的视图文件。 此处的ControllerID
是指控制器的 ID 。它可以通过 CController::viewPath 自定义。WebRoot/protected/views/layouts
: 此目录放置所有布局视图文件。它可以通过CWebApplication::layoutPath 自定义。WebRoot/protected/views/system
: 此目录放置所有系统视图文件。 系统视图文件是用于显示异常和错误的模板。它可以通过 CWebApplication::systemViewPath 自定义。WebRoot/assets
: 此目录放置公共资源文件。 资源文件是可以被发布的,可由Web用户访问的私有文件。此目录必须对 Web 服务器进程可写。 它可以通过 CAssetManager::basePath 自定义WebRoot/themes
: 此目录放置应用使用的不同的主题。每个子目录即一个主题,主题的名字即目录的名字。 它可以通过 CThemeManager::basePath 自定义。
6. 数据库
多数Web 应用是由数据库驱动的。为了最佳时间,我们 推荐在对表和列命名时使用如下命名规范。注意,这些规范并不是 Yii 所必须的。
数据库表名和列名都使用小写命名。
名字中的单词应使用下划线分割 (例如
product_order
)。对于表名,你既可以使用单数也可以使用复数。但 不要 同时使用两者。为简单起见,我们推荐使用单数名字。
表名可以使用一个通用前缀,例如
tbl_
WebRoot/protected/views/ControllerID
: このディレクトリには、単一のコントローラー クラスで使用されるビュー ファイルが配置されます。 ここでのControllerID
は、コントローラーの ID を指します。 CController::viewPath を介してカスタマイズできます。 🎜🎜WebRoot/protected/views/layouts
: このディレクトリには、すべてのレイアウト ビュー ファイルが含まれています。 CWebApplication::layoutPath を介してカスタマイズできます。 🎜🎜🎜🎜WebRoot/protected/views/system
: このディレクトリには、すべてのシステム ビュー ファイルが含まれています。 システム ビュー ファイルは、例外とエラーを表示するために使用されるテンプレートです。 CWebApplication::systemViewPath を介してカスタマイズできます。 🎜🎜🎜🎜WebRoot/assets
: このディレクトリにはパブリック リソース ファイルが含まれています。 リソース ファイルは、Web ユーザーが公開してアクセスできるプライベート ファイルです。このディレクトリは、Web サーバー プロセスによって書き込み可能である必要があります。 CAssetManager::basePath を通じてカスタマイズできます 🎜🎜🎜🎜WebRoot/themes
: このディレクトリには、アプリケーションで使用されるさまざまなテーマが配置されます。各サブディレクトリはトピックであり、トピックの名前がディレクトリの名前になります。 CThemeManager::basePath を介してカスタマイズできます。 🎜🎜🎜6. データベース
🎜 ほとんどの Web アプリケーションはデータベースによって駆動されます。時間を最適化するために、テーブルと列に名前を付けるときは、次の命名規則を使用することをお勧めします。これらの仕様は Yii には必要ないことに注意してください。 🎜- 🎜🎜データベースのテーブル名と列名は小文字で付けられます。 🎜🎜🎜🎜名前内の単語はアンダースコアで区切る必要があります (例:
product_order
)。 🎜🎜🎜🎜テーブル名には、単数形でも複数形でも使用できます。ただし、両方を同時に使用しないでください。わかりやすくするために、単数形の名前を使用することをお勧めします。 🎜🎜🎜🎜テーブル名には、tbl_
などの一般的な接頭辞を使用できます。これは、アプリケーションで使用されるテーブルが、別のアプリケーションで使用されるテーブルと同じデータベースに共存する場合に特に便利です。 これら 2 つのアプリケーションのテーブルは、異なるテーブル接頭辞を使用することで簡単に区別できます。 🎜🎜🎜🎜上記は Yii Framework 公式ガイド シリーズ 13 - 基礎知識: 開発仕様です。その他の関連コンテンツについては、PHP 中国語 Web サイト (www.php.cn) をご覧ください。 🎜 - 🎜

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









Yii は、PHP をベースにした高性能 MVC フレームワークで、Web アプリケーションの迅速かつ効率的な開発をサポートする非常に豊富なツールと機能のセットを提供します。中でも、Yii フレームワークの RESTful API 機能は、Yii フレームワークを使用することで高性能で拡張性の高い RESTful インターフェースを簡単に構築でき、Web アプリケーションの開発を強力にサポートできるため、ますます開発者の注目と愛を集めています。 RESTfulAPI の概要 RESTfulAPI は

Web アプリケーションの急速な開発に伴い、最新の Web 開発は重要なスキルになりました。効率的な Web アプリケーションを開発するために多くのフレームワークやツールが利用できますが、その中でも Yii フレームワークは非常に人気のあるフレームワークです。 Yii は、最新のデザインパターンとテクノロジーを使用し、強力なツールとコンポーネントを提供し、複雑な Web アプリケーションの構築に最適な、高性能のコンポーネントベースの PHP フレームワークです。この記事では、Yii フレームワークを使用して Web アプリケーションを構築する方法について説明します。まずYiiフレームワークをインストールし、

Yii フレームワークのミドルウェア: アプリケーションに複数のデータ ストレージのサポートを提供する はじめに ミドルウェア (ミドルウェア) は、Yii フレームワークの重要な概念であり、アプリケーションに複数のデータ ストレージのサポートを提供します。ミドルウェアはフィルターのように機能し、アプリケーションのリクエストとレスポンスの間にカスタム コードを挿入します。ミドルウェアを通じて、リクエストを処理、検証、フィルタリングし、処理された結果を次のミドルウェアまたは最終ハンドラーに渡すことができます。 Yii フレームワークのミドルウェアは非常に使いやすいです

Yii フレームワークを使用して Web ページのキャッシュとページのチャンクを実装する手順 はじめに: Web 開発プロセス中、Web サイトのパフォーマンスとユーザー エクスペリエンスを向上させるために、多くの場合、ページのキャッシュとチャンクが必要になります。 Yii フレームワークは強力なキャッシュとレイアウト機能を提供しており、開発者が Web ページのキャッシュとページ チャンキングを迅速に実装できるようにします。この記事では、Yii フレームワークを使用して Web ページのキャッシュとページ チャンキングを実装する方法を紹介します。 1. Web ページのキャッシュをオンにする Yii フレームワークでは、設定ファイルを通じて Web ページのキャッシュをオンにすることができます。メイン設定ファイルを開きます。

近年、ゲーム業界の急速な発展に伴い、ゲームをクリアするためのゲーム戦略を模索するプレイヤーがますます増えています。したがって、ゲームガイド Web サイトを作成することで、プレイヤーはゲームガイドを入手しやすくなると同時に、プレイヤーにより良いゲーム体験を提供することができます。このような Web サイトを作成する場合、開発には Yii フレームワークを使用できます。 Yii フレームワークは、PHP プログラミング言語に基づいた Web アプリケーション開発フレームワークです。高効率、セキュリティ、強力な拡張性という特徴があり、ゲームガイドをより迅速かつ効率的に作成するのに役立ちます。

Yii フレームワーク ミドルウェア: アプリケーションにロギング機能とデバッグ機能を追加する [はじめに] Web アプリケーションを開発する場合、通常、アプリケーションのパフォーマンスと安定性を向上させるために、いくつかの機能を追加する必要があります。 Yii フレームワークは、アプリケーションがリクエストを処理する前後にいくつかの追加タスクを実行できるようにするミドルウェアの概念を提供します。この記事では、Yii フレームワークのミドルウェア機能を使用してロギングとデバッグ機能を実装する方法を紹介します。 【ミドルウェアとは】 ミドルウェアとは、アプリケーションがリクエストを処理する前後のリクエストとレスポンスの処理を指します。

Yii フレームワークでは、コントローラーはリクエストの処理において重要な役割を果たします。通常のページ リクエストの処理に加えて、コントローラーを使用して Ajax リクエストを処理することもできます。この記事では、Yii フレームワークで Ajax リクエストを処理する方法を紹介し、コード例を示します。 Yii フレームワークでは、Ajax リクエストの処理は次の手順で実行できます。 最初の手順は、コントローラー (Controller) クラスを作成することです。 Yii フレームワークが提供する基本コントローラークラス yiiwebCo を継承できます。

Yii フレームワークミドルウェアを使用した機密データの暗号化と復号化 はじめに: 最新のインターネット アプリケーションでは、プライバシーとデータ セキュリティが非常に重要な問題です。ユーザーの機密データに権限のない訪問者がアクセスできないようにするには、このデータを暗号化する必要があります。 Yii フレームワークは、機密データの暗号化と復号化の機能を実装するためのシンプルかつ効果的な方法を提供します。この記事では、Yii フレームワークのミドルウェアを使用してこれを実現する方法について説明します。 Yii フレームワークの概要 Yii フレームワークは、高性能の PHP フレームワークです。
