Copyright © 2022-2024 aizws.net · 网站版本: v1.2.6·内部版本: v1.23.3·
页面加载耗时 0.00 毫秒·物理内存 74.6MB ·虚拟内存 1303.8MB
欢迎来到 AI 中文社区(简称 AI 中文社),这里是学习交流 AI 人工智能技术的中文社区。 为了更好的体验,本站推荐使用 Chrome 浏览器。
模块是编写可重复使用的网络功能(例如博客、相册、聊天等)的好方法。模块不会干扰网络应用程序中的其他代码。它位于自己的文件夹中并默默地提供其功能。模块只是相同的控制器、模型和视图,只是它们被分组、配置并放置在一个特殊的文件夹中。通常,模块通常驻留在位于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 }
模块 m必须与模块的文件夹名称相同。
我们可以通过创建配置中定义的文件夹名称来创建模块。文件夹名称决定了模块的名称,以及模块中类的命名空间的名称。
模块结构如下:
模块可以有自己的配置文件。它在路由设置中非常有用,并且不会干扰应用程序的原始配置。另一个重要的概念是,模块类可以通过在 always_load 配置部分加载模块来重用,如下所示。
'always_load => array ( 'modules' => array('employeemodule'), ),
此外,模块可以立即加载和使用,无需进行如下配置。
Module::load('employeemodule'); \Employeemodule\Myclass::mymethod('params');
包在代码重用方面类似于模块,但在以下方面有所不同,它不会映射到网址无法通过 HMVC 请求访问 简而言之,包不是直接的网络功能,如博客、相册等。相反,它是一个组合在一起的功能库,如电子邮件处理、文档 ...