繁体   English   中英

Laravel合约给出500错误

[英]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

可能是愚蠢的指针,但是没有危害检查:

  1. 仔细检查相应文件中的名称空间,即EventContract和EloquentEventRepository类文件。

  2. 如果未使用完整路径,请检查是否已在EventController中导入名称空间

  3. 注册服务提供商后,您是否运行了composer dump-autoload -o

如果启用了调试,请尝试使用chrome devtools查看响应

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM