levare / modules
Laravel 4 的模块管理器
Requires
- php: >=5.3.0
- illuminate/support: 4.0.x
This package is not auto-updated.
Last update: 2016-06-19 07:31:06 UTC
README
Modules 是 Laravel 版本 4 的模块管理工具。
你喜欢我的工作? https://www.gittip.com/abstractFlo/此软件包不再开发。我创建了一个具有更好功能和更简单语法的全新软件包。测试完成后,我将在此处提供链接!
变更日志 1.1.3
- 添加了全局命名空间加载
您可以在 module.json 中添加一个数组
"global": [
]
在此,您可以加载您希望从模块中加载的每个文件夹。例如
"global": [
"Controller"
]
现在 ModuleManager 将目录添加到 Laravel 类加载器中。您现在可以访问全局命名空间中的所有类,而无需添加任何命名空间。
示例<php
class StartController extends BaseController {
public function showWelcome()
{
return View::make('hello');
}
}
变更日志 1.1.0
- 重写了软件包
在前一个版本中有一个我未考虑到的错误。这是一个关于文件夹和文件名的大小写的问题。在 Laravel 3 中,命名空间是否不区分大小写。但在 4 的 Laravel 中不是。
现在,这个软件包的设计是
这究竟意味着什么命名空间表示文件夹和文件重命名。换句话说,如果您有以下命名空间
namespace Modules\Dashboard\Controller\Admin
那么文件夹的路径也必须写成
root/levare/Modules/Dashboard/Controller/Admin
对于文件也是一样
use Modules\Dashboard\Controller\Admin\Start
以及文件的路径
root/levare/Modules/Dashboard/Controller/Admin/Start.php
变更日志 1.0.2
- 添加了 registerFolders() 方法
- 添加了权限检查到 checkModules() 方法
- 移除了 getPath() 方法
registerFolder()
此方法注册了可能添加到 Laravel 命名空间类中所需的所有文件夹。具体来说,以下类
- 视图
- 配置
- 翻译
这允许您使用软件包风格的模块处理方式,例如 Config::get('module::config.item');
权限检查
权限检查检查模块文件夹是否可写。如果是这样,将复制所有必要的文件,否则,应用程序将停止并出现错误。(仅限于调试模式)
getPath()
自动文件夹注册使此方法已弃用。
安装要获取 Modules 的最新版本,只需在您的 composer.json
文件中添加它。
"levare/modules": "dev-master"
之后,您需要运行 composer install
下载最新版本并更新自动加载器。
一旦安装了 Modules,您需要将服务提供者注册到应用程序中。打开 app/config/app.php
并搜索 providers
键。
'providers' => array(
// your other Providers
'Levare\Modules\ModulesServiceProvider'
)
模块还提供了一个门面,帮助您管理您的模块。您可以在 app/config/app.php
文件的 alias
键中注册门面。
'aliases' => array(
// your other aliases
'Module' => 'Levare\Modules\Facades\Modules'
)
最后但同样重要的是。将命名空间添加到您的 composer.json
文件中。在该文件中搜索 autoload
键。如果您使用自定义模块文件夹位置,将 levare/ 改为 app/(假设您的模块文件夹位置是:app/Modules)
"autoload": {
// Other Stuff for Autoload
// If PSR-0 not exists then create it
"psr-0": {
"Modules": "levare/"
}
}
运行 composer dump-autoload
以注册新的命名空间。
如何使用
使用此包有一个简单的方法。在您的根目录中创建一个名为 levare
的新文件夹,并在 levare
中创建一个名为 Modules
的文件夹。就是这样!
要使用自定义模块文件夹位置
php artisan config:publish levare/modules
然后在:app/config/packages/levare/config.pphp
<?php
return array(
'module_folder_location' => 'your-location-here', //example app/modules, levare/modules
);
现在您可以通过简单的方式创建一个模块。向 Modules
中添加一个新的文件夹,并请求您的网站。模块管理器会为您做其他所有事情。它会创建所有需要的文件并注册模块。
您现在可以添加特定的文件夹,如 Controllers
、Models
、views
等。
此文件包含您模块的所有信息。您可以通过将文件名/路径添加到 autoloader
键来自动加载您需要的所有文件。
"autoloader": [
"routes.php",
"helpers.php",
"folder/file.php"
]
您可以从模块中加载您想要的任何内容。
重要
任何模块的命名空间为 Modules\ModuleNameE\FolderName
检查您的模块文件夹及其所有内容是否具有 chmod 775
权限!
忘记了什么?
写一封电子邮件或创建一个问题。