Laravel 5:php artisan route:list Illuminate \ Container \ BindingResolutionException]

时间:2015-06-13 16:18:39

标签: laravel laravel-5 laravel-routing

当我使用命令" php artisan route:list"我有这个错误

[Illuminate\Container\BindingResolutionException]
Unresolvable dependency resolving [Parameter #0 [ <required> $methods ]] in class Illuminate\Routing\Route

当我有

时,该命令很有效
Route::get('/', 'WelcomeController@index');
Route::get('home', 'HomeController@index');

但是只要我添加其他路线,我就有这个例外

我发现了问题:

我在控制器中执行IOC并注入Illuminate \ Routing \ Route。一旦我删除注射它的工作。

我有扩展Controller的BaseController。

BaseController是

class BaseController extends Controller {

/**
 * @var array Options used by the pages
 */
protected $options;

/**
 * @param Route $route
 */
public function __construct(Route $route)
{
    $this->options = Option::getAutoloaded();

    // Load the options for the named route page
    $this->options = array_merge($this->options, Option::getByPage($route->getAction()['as']));

    $this->initListPlugins();
}

控制器

class MediasController extends BaseController {


public function __construct(Route $route)
{
    parent::__construct($route);

    $this->options = array_merge($this->options, Option::getByPage('media'));
}

现在问题是我如何解决它:)

Thanx求助

1 个答案:

答案 0 :(得分:0)

当我看到这个错误时,我会想到拼写错误,所以请确保为这些错误重新检查。

只需确保您的路线链接到正确的Controller @功能:

Route::get('medias', ['uses' => 'MediasController@getMediaList', 'as' => 'medias.index']) 

将转到Http / Controllers中的MediasController:

类MediasController扩展Controller {

public function getMediaList()
{
    return view('medialist');
}

}

还要确保您的控制器正确返回视图。 如果你正在使用

{!! link_to_route('medias.index', 'Media list') !!} 

确保你有&#34;照亮/ html&#34;:&#34; 5.0。* @ dev&#34;通过你的composer.json安装。