模块是编写可重用的Web功能(如博客,相册,聊天等)的好方法.模块不会干扰Web应用程序中的其他代码.它位于自己的文件夹中,并以静默方式提供其功能.模块只是相同的控制器,模型和视图,除了它们被分组,配置和放置在特殊文件夹中.通常,模块通常位于应用程序的子目录中,名为modules,位于fuel/app/modules.
我们可以定义主应用程序配置文件中的modules路径,如下所示:fuel/app/config/config.php.
'module_paths' => array ( path/to.’modules'.DS, // path to application modules path/to.’..’.DS.'globalmods'.DS // path to our global modules ),
在FuelPHP中,每个模块都有自己的PHP命名空间.设置单独的命名空间可以修复名称冲突.例如,员工模块可以在命名空间 EmployeeModule 下设置如下.
<?php namespace Employeemodule; class Controller_Employee { //code here }
模块必须与文件夹命名相同模块的名称.
我们可以通过创建配置中定义的文件夹名称来创建模块.文件夹名称确定模块的名称,以及模块中类的命名空间名称.
模块的结构如下 :
classes
controller
model
查看
config
lang
任务
views
模块可以有自己的配置文件.它在路由设置中非常有用,并且不会干扰应用程序的原始配置.另一个重要的概念是,可以通过在always_load配置部分中加载模块来重用模块类,如下所示.
'always_load => array ( 'modules' => array('employeemodule'), ),
此外,模块可以加载,立即使用,无需配置如下.
Module::load('employeemodule'); \Employeemodule\Myclass::mymethod('params');