この記事では、主に thinkPHP5.0 フレームワークモジュール設計を紹介し、thinkPHP5.0ディレクトリ構造、命名規則について簡単に説明し、モジュールクラスライブラリの原則とアクセス方法を例の形で分析します。が必要です。お友達は参考にしてください
この記事では、thinkPHP5.0 フレームワーク モジュールの設計について例を示して説明します。参考のために皆さんと共有してください。詳細は次のとおりです:
バージョン 5.0 は、デフォルトでマルチモジュール アーキテクチャを採用し、すべてのモジュールの 名前空間 を使用します。 app をルート名前空間として使用します (構成可能な変更)。
ディレクトリ構造
標準のアプリケーションとモジュールのディレクトリ構造は次のとおりです:
├─application 应用目录(可设置) │ ├─common 公共模块目录(可选) │ ├─common.php 公共函数文件 │ ├─route.php 路由配置文件 │ ├─database.php 数据库配置文件 │ ├─config.php 应用配置文件 │ ├─module1 模块1目录 │ │ ├─config.php 模块配置文件 │ │ ├─common.php 模块函数文件 │ │ ├─controller 控制器目录 │ │ ├─model 模型目录 │ │ ├─view 视图目录 │ │ └─ ... 更多类库目录 │ │ │ ├─module2 模块2目录 │ │ ├─config.php 模块配置文件 │ │ ├─common.php 模块函数文件 │ │ ├─controller 控制器目录 │ │ ├─model 模型目录 │ │ ├─view 视图目录 │ │ └─ ... 更多类库目录
ThinkPHP5.0 の命名規則に従い、モジュールのディレクトリはすべて小文字で名前が付けられ、下線が付いています。
モジュール名に PHP の予約キーワードを使用しないでください (予約語のリストについては、http://php.net/manual/zh/reserved.keywords.php を参照してください)。使用しないと、システム エラーが発生します。
共通モジュールは、デフォルトで直接アクセスを禁止する特殊なモジュールで、通常、他のモジュールから継承するためにいくつかのパブリッククラスライブラリを配置するために使用されます。
モジュールクラスライブラリ
モジュールの下のクラスライブラリファイルの名前空間は、一律にアプリモジュール名で始まります。例:
// index模块的Index控制器类 app\index\controller\Index // index模块的User模型类 app\index\model\User
アプリは定義された方法で変更できます。たとえば、次のように変更します。アプリケーション設定ファイル:
'app_namespace' => 'application',
次に、インデックス モジュールのクラス ライブラリ名前空間は次のようになります:
// index模块的Index控制器类 application\index\controller\Index // index模块的User模型类 application\index\model\User
クラス ライブラリと名前空間の関係の詳細については、次の前の記事「ThinkPHP5.0 フレームワークの詳細な説明」を参照してください。ネームスペース」。
モジュールとコントローラーを非表示にする
デフォルトではマルチモジュールサポートを使用するため、モジュールが 1 つしかない場合は、現在のモジュールを URL アドレスで識別する必要があります。 : 次のコードをアプリケーションのパブリック ファイルに追加します:
// 绑定当前访问到index模块 \think\Route::bind('index');
バインド後の URL アクセス アドレスは次のようになります:
http://serverName/index.php/控制器/操作/[参数名/参数值...]
アクセスされるモジュールはインデックス モジュールです。
アプリケーションが比較的単純で、モジュールとコントローラーが 1 つだけある場合は、次のようにアプリケーションのパブリック ファイルでモジュールとコントローラーをバインドできます:
// 绑定当前访问到index模块的index控制器 \think\Route::bind('index/index');
設定後、URL アクセス アドレスは次のようになります:
によってアクセスされるモジュールhttp://serverName/应用入口/操作/[参数名/参数值...]
はインデックス モジュール、コントローラーはインデックス コントローラーです。
単一モジュール
アプリケーションが比較的単純で、モジュールが 1 つしかない場合は、単一モジュール構造を使用することでさらに簡素化できます。方法は次のとおりです。
まず、アプリケーション構成ファイルで定義します。
// 关闭多模块设计 'app_multi_module' => false,
次に、調整します。 アプリケーション ディレクトリの構造は次のとおりです。
├─application 应用目录(可设置) │ ├─controller 控制器目录 │ ├─model 模型目录 │ ├─view 视图目录 │ ├─ ... 更多类库目录 │ ├─common.php 函数文件 │ ├─route.php 路由配置文件 │ ├─database.php 数据库配置文件 │ └─config.php 配置文件
URL アクセス アドレスは
http://serverName/index.php(或者其它应用入口)/控制器/操作/[参数名/参数值...]
になります。 同時に、単一モジュール設計下のアプリケーション クラス ライブラリの名前空間も調整され、例:
元の
app\index\controller\Index app\index\model\User
は
app\controller\Index app\model\User
になります。 URL ルーティング機能を使用すると、さらに URL の簡素化とカスタマイズを行うこともできます。
以上がthinkPHP5.0フレームワークモジュール設計の詳細の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。