php - laravel 4 工作台路由到包

标签 php laravel laravel-4 package laravel-routing

我使用 laravel 4 已经有一段时间了,我需要创建一个管理区域,所以我决定使用一个包来保持一切井井有条,并与应用程序的其余部分分开。

所以我用 composer 作为“vendor/admin”创建了一个包。

然后我在 laravel 网站上添加了这些行

AdminServiceProvider.php

public function boot()
    {
        $this->package('vendor/admin', 'admin');
        include __DIR__.'/../../routes.php';
 }


public function register()
    {
        //
        $this->package('vendor/admin');

    }

我还在 vedor/admin/目录中创建了一个 routes.php 文件来路由这个文件中的所有管理区域。

在我运行“php artisan dump-autoload”之后,我最终完成了对 artisan “php artisan config:publish vendor/admin”的表扬

现在我希望能够将这个包用于 mysite.com/admin 路由,我希望包中的 routes.php 文件呈现该 URI 的路由,为此:

  1. 我需要修改我的 app/routes.php 吗?
  2. 如何使 vendor/admin/src/routes.php 文件为所有 mysite.com/admin 路由做路由?

谢谢。

最佳答案

不,您不需要编辑 app/routes.php。只要它不包含任何可能与您的包中的路由冲突的 admin 路由,您就可以保持这种状态。

包中的路由文件可以像“普通”app/routes.php 一样使用。处理 admin 路由的一种简单方法是使用前缀组:

Route::group(array('prefix' => 'admin'), function(){
    // all your admin routes. for example:
    Route::get('dashboard', '...');
    // will match GET /admin/dashboard
});

除此之外,请确保您的包已正确加载!一部分是注册服务提供商。假设您的包的命名空间是 Admin,您需要将 Admin\AdminServiceProvider 添加到 app/config/app.php 中的提供程序数组。 More information

关于php - laravel 4 工作台路由到包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27365032/

相关文章:

angularjs - Laravel 4 作为 AngularJS 的 RESTful 后端

php - 如何正确链接php-fpm和Nginx Docker容器?

php - codeigniter flashdata未清除

php - 浏览器/服务器上的相同代码

php - 使用自定义中间件将我重定向到/home,即使中间件在 Laravel 中是空的

php - 使用 PHP 在 MySQL 中插入大量行时的重复值

javascript - Symfony|Twig : update data after ajax call

laravel - 制作一个脚本来自动将请求作为测试发送到所有 api

Laravel 工厂/播种器创建指定的双记录

php - 使用 Carbon 增加日期