duandanxiu6965 2016-02-19 12:46
浏览 353

在单个laravel应用程序中创建模块

I'm trying to make a bigger Laravel 5.1 application and I'd like to have my code logically separated to smaller modules or packages. So my application structure would be something like:

  • app/
  • config/
  • ...
  • modules/
    • module_1
    • ...
    • module_n

Eeach module should have own database migrations, seeds, views, controllers and vendor/ folder with dependent packages.

I have already tried caffeinated/modules with no success.

Currently I'm using pingpong-labs/modules, which seems to be a great solution, but the problem is laravel are searching for alias classes like 'HTML' or 'Form' in root vendor/ folder and not in modules/../vendor/ folder, even though I have registered them manually in Module Service Provider. Let say I have ModuleServiceProvider.php in modules/ folder which looks like:

/**
 * Boot the application events.
 *
 * @return void
 */
public function boot()
{
   ...        
}

/**
 * Register the service provider.
 *
 * @return void
 */
public function register()
{
    // These are located in modules/../vendor/ folder
    $this->app->register('Collective\Html\HtmlServiceProvider');
    $this->app->alias('Html', 'Collective\Html\HtmlFacade');
    $this->app->alias('Form', 'Collective\Html\FormFacade');
}

I appreciated any suggestions or help. Thanks in advance.

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥100 set_link_state
    • ¥15 虚幻5 UE美术毛发渲染
    • ¥15 CVRP 图论 物流运输优化
    • ¥15 Tableau online 嵌入ppt失败
    • ¥100 支付宝网页转账系统不识别账号
    • ¥15 基于单片机的靶位控制系统
    • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
    • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
    • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
    • ¥15 手机接入宽带网线,如何释放宽带全部速度