【问题标题】:"Target [App\Http\Controllers\Controller] is not instantiable."“目标 [App\Http\Controllers\Controller] 不可实例化。”
【发布时间】:2015-10-05 17:45:39
【问题描述】:

我正在尝试学习有关 laravel 基础知识的 laracasts 教程,但是在安装 composer 和 laravel 没有问题后,我无法让我的路由文件与控制器一起使用我重新安装 laravel 完全复制了 laracasts 的内容,但是还是没有,有人看出这两个文件有什么问题吗?

routes.php 文件

<?php

/*
|--------------------------------------------------------------------------
| Application Routes
|--------------------------------------------------------------------------
|
| Here is where you can register all of the routes for an application.
| It's a breeze. Simply tell Laravel the URIs it should respond to
| and give it the controller to call when that URI is requested.
|
*/

Route::get('/', 'Controller@index');
Route::get('contact', 'Controller@contact');

controller.php 文件

<?php

namespace App\Http\Controllers;

use Illuminate\Foundation\Bus\DispatchesJobs;
use Illuminate\Routing\Controller as BaseController;
use Illuminate\Foundation\Validation\ValidatesRequests;

abstract class Controller extends BaseController
{
    use DispatchesJobs, ValidatesRequests;

    public function ___construct()
    {
        $this->middleware('guest');
    }

    public function index()
    {
        return 'hello world!';
    }

    public function contact()
    {
     return 'Contact me!';
    }
}

如果有帮助的话,我使用 phps 服务器命令将它托管在 localhost:8888 上。

【问题讨论】:

    标签: php laravel controller routes laravel-5


    【解决方案1】:

    原因可能是您的控制器类是抽象的,因此它不可实例化。删除 abstract 关键字。

    【讨论】:

    • 希望他们有一个“喜欢”按钮 xD
    • 我不是问xD的人
    【解决方案2】:

    如果你的路由是 get 或 post 并且实际上你已经实现了资源,那么你会得到这种类型的错误

    【讨论】:

    • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
    猜你喜欢
    • 2018-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-01
    • 1970-01-01
    • 2020-09-15
    • 2020-04-13
    • 2016-05-09
    相关资源
    最近更新 更多