FuelPHP - 模块

模块是编写可重用的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');