模块(Modules)
优质
小牛编辑
127浏览
2023-12-01
模块是编写可重用的Web功能(如博客,相册,聊天等)的好方法。模块不会干扰Web应用程序中的其他代码。 它位于自己的文件夹中,并以静默方式提供其功能。 模块只是相同的控制器,模型和视图,除了它们被分组,配置和放置在特殊文件夹中。 通常,模块通常驻留在位于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命名空间。 设置单独的命名空间可以修复名称冲突。 例如,可以在namespace, EmployeeModule下设置employee模块,如下所示。
<?php
namespace Employeemodule;
class Controller_Employee {
//code here
}
必须将模块命名为与模块的文件夹名称相同。
模块结构
我们可以通过创建配置中定义的文件夹名称来创建模块。 文件夹名称确定模块的名称以及模块中类的名称空间的名称。
该模块的结构如下 -
- classes
- controller
- model
- view
- config
- lang
- tasks
- views
模块可以有自己的配置文件。 它在路由设置中非常有用,并且不会干扰应用程序的原始配置。 另一个重要的概念是,可以通过在always_load配置部分中加载模块来重用模块类,如下所示。
'always_load => array (
'modules' => array('employeemodule'),
),
此外,模块可以立即加载和使用,无需如下配置。
Module::load('employeemodule');
\Employeemodule\Myclass::mymethod('params');