[英]Laravel Contract gives 500 error
我为我的应用程序制作了一个Contract接口和一个Eloquent存储库,但是当我尝试使用它时出现500错误。
我觉得它与注册方式有关。 为此,请使用具有以下register
方法的服务提供商:
/**
* Register service provider bindings
*/
public function registerBindings() {
$this->app->bind(
\App\Repositories\Backend\EventContract::class,
\App\Repositories\Backend\EloquentEventRepository::class
);
}
然后,在控制器中按以下方式使用合同:
EventController类扩展了控制器{
/**
* @var EventContract
*/
protected $events;
/**
* EventController constructor.
* @param EventContract $events
*/
public function __construct(EventContract $events)
{
$this->events = $events;
}
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
return view('backend.events.index')
->withEvents($this->events->getEventsPaginated(25, 1));
当我用500错误加载页面时,Laravel日志或Nginx日志中没有任何条目(我将Homestead与Vagrant结合使用)。
任何想法? 提前致谢
编辑:发现了一些日志!
2016/02/17 09:47:52 [error] 1868#0: *331 FastCGI sent in stderr: "inate\Container\Container->make() /home/vagrant/Code/Yoosit/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:674
PHP message: PHP 478. Illuminate\Container\Container->build() /home/vagrant/Code/Yoosit/vendor/laravel/framework/src/Illuminate/Container/Container.php:633
PHP message: PHP 479. Illuminate\Container\Container->getDependencies() /home/vagrant/Code/Yoosit/vendor/laravel/framework/src/Illuminate/Container/Container.php:779
PHP message: PHP 480. Illuminate\Container\Container->resolveClass() /home/vagrant/Code/Yoosit/vendor/laravel/framework/src/Illuminate/Container/Container.php:808
PHP message: PHP 481. Illuminate\Foundation\Application->make() /home/vagrant/Code/Yoosit/vendor/laravel/framework/src/Illuminate/Container/Container.php:853
PHP message: PHP 482. Illuminate\Container\Container->make() /home/vagrant/Code/Yoosit/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:674
PHP message: PHP 483. Illuminate\Container\Container->build() /home/vagrant/Code/Yoosit/vendor/laravel/framework/src/Illuminate/Container/Container.php:633
PHP message: PHP 484. Illuminate\Container\Container->Illuminate\Container\{closure}() /home/vagrant/Code/Yoosit/vendor/laravel/framework/src/Illuminate/Container/Container.php:735
PHP message: PHP 485. Illuminate\Foundation\Application->make() /home/vagrant/Code/Yoosit/vendor/laravel/framework/src/Illuminate/Container/Container.php:230
PHP message: PHP 486. Illuminate\Container\Container->make() /home/vagrant/Code/Yoosit/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:674
PHP message: PHP 487. Illuminate\Container\Container->build() /home/vagrant/Code/Yoosit/vendor/laravel/framework/src/Illuminate/Container/Container.php:633
PHP message: PHP 488. Illuminate\Container\Container->getDependencies() /home/vagrant/Code/Yoosit/vendor/laravel/framework/src/Illuminate/Container/Container.php:779
PHP message: PHP 489. Illuminate\Container\Container->resolveClass() /home
可能是愚蠢的指针,但是没有危害检查:
仔细检查相应文件中的名称空间,即EventContract和EloquentEventRepository类文件。
如果未使用完整路径,请检查是否已在EventController中导入名称空间
注册服务提供商后,您是否运行了composer dump-autoload -o
如果启用了调试,请尝试使用chrome devtools查看响应
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.