【问题标题】:How to get access to package routes如何访问包裹路线
【发布时间】:2013-06-07 18:30:34
【问题描述】:

我已经创建了一个包,如 laravel 文档中所述。

然后我创建了 routes.php 并添加了一个简单的路由

Route::get('package', function() {
   echo "It works!";
});

抛出异常

Symfony\Component\HttpKernel\Exception\NotFoundHttpException

然后我跑

 php composer.phar dump-autoload

通过控制台,但仍然是这个异常。

正如其他线程中所描述的,我应该将服务提供者注册到 app.php。所以我添加了它

'Vendor\Package\PackageServiceProvider'

现在它抛出异常,该服务类不存在。

Symfony\Component\Debug\Exception\FatalErrorException

我错过了什么?

编辑

如果我将路由添加到应用程序 routes.php 它可以工作。

【问题讨论】:

    标签: php laravel packages


    【解决方案1】:

    我认为您的服务提供者类定义在全局命名空间中。您是否定义了服务提供者类的命名空间,例如:

    namespace Vendor\Package\PackageServiceProvider;
    
    use Illuminate\Support\ServiceProvider;
    
    class PackageServiceProvider extends ServiceProvider {
    
        // implement your service provider interface
        // you should include your route.php in the boot method of your service provider
    
        function boot() {
            include __DIR__.'/../../routes.php';
        }
    }
    

    【讨论】:

    • 我已经创建了包,如 docs (php artisan workbench vendor/package --resources) 中所述,并包括上面的 route.php。 routes.php 应该在 package 的 src-folder 中吧?
    • 上一级。因为路由它不是你的包的来源,它只是配置。
    猜你喜欢
    • 2023-04-07
    • 2014-01-02
    • 1970-01-01
    • 1970-01-01
    • 2014-07-30
    • 1970-01-01
    • 2015-09-14
    • 2012-06-03
    • 1970-01-01
    相关资源
    最近更新 更多