在Laravel中注册自定义控制器类

时间:2017-08-28 21:07:07

标签: php laravel

我有这个类是ServiceProvider

d3.arc()

但是当我尝试访问AvatarCotroller类的某个URL时,屏幕为空,并且没有显示任何错误。但每当我评论这一行

namespace Package\Avatar;

use Illuminate\Support\ServiceProvider;

class AvatarServiceProvider extends ServiceProvider
{
    /**
     * Bootstrap the application services.
     *
     * @return void
     */
    public function boot()
    {
        include __DIR__.'/routes.php';
    }

    /**
     * Register the application services.
     *
     * @return void
     */
    public function register()
    {
        try{
            $this->app->make('Package\Avatar\AvatarController');
        } catch (\Exception $e){
            dd($e);
        }

    }
}

我可以得到Laravel的正常错误。

2 个答案:

答案 0 :(得分:0)

您可以在服务提供商的引导方法中删除routes.php。只需使用$this->app->call('Package\Avatar\AvatarController@method')来调用控制器上的方法

答案 1 :(得分:0)

php artisan optimize:重用所有常用的类,php将在cache / service.php中创建一个缓存的类。所以我们如果要添加新服务,我们需要运行它。每当我们添加新的依赖项而不使用composer时,我们都需要使用它。

php artisan cache:clear:清除所有上述缓存并重新映射所有内容