Laravel 4 - ReflectionException Class /不存在

时间:2014-01-07 06:04:33

标签: reflection laravel-4

当试图加载页面时,我收到了ReflectionException Class /不存在的错误(打开:/var/www/laravel_guestbook/vendor/laravel/framework/src/Illuminate/Routing/ControllerInspector.php) ,可以使用一些洞察导致此错误的原因。

此外,我还在项目文件夹的根目录下运行'composer dump-autoload'无济于事。

routes.php文件

Route::controller('EntriesController', '/');

Entry.php

<?php
class Entry extends Eloquent {

   /**
     * The database table used by the model.
     *
     * @var string
     */
    protected $table = 'entries';
}
?>

home.blade.php

<html>
<head>
    <title>Laravel 4 Guestbook</title>
</head>
<body>
    @foreach ($entries as $entry)
        <p>{{ $entry->comment }}</p>
        <p>Posted on {{ $entry->created_at->format('M jS, Y') }} by 
           <a href="mailto:{{ $entry->email }}"> {{ $entry->username}}</a>
        </p><hr>
    @endforeach

    <form action="/" method="post">
        <table border="0">
            <tr>
                <td>Name</td>
                <td><input type="text" name="frmName" value="" size="30" maxlength="50"></td>
            </tr>

            <tr>
                <td>Email</td>
                <td><input type="text" name="frmEmail" value="" size="30" maxlength="100"></td>
            </tr>
            <tr>
                <td>Comment</td>
                <td><input textarea name="frmComment" row="5" cols="30"></textarea></td>
            </tr>

            <tr>
                <td></td>
                <td>
                    <input type="submit" name="submit" value="submit"> 
                    <input type="reset" name="reset" value="reset">
                </td>
            </tr>
        </table>
    </form>
</body>

EntriesController.php

<?php

class EntriesController extends BaseController {

    # Handles "GET /" request
    public function getIndex()
    {
        return View::make('home')
                ->with('entries', Entry::all());
    }

    # Handles "POST /"  request
    public function postIndex()
    {
        // get form input data
        $entry = array(
            'username' => Input::get('frmName'),
            'email'    => Input::get('frmEmail'),
            'comment'  => Input::get('frmComment'),
        );

        // save the guestbook entry to the database
        Entry::create($entry);

        return Redirect::to('/');
    }
}
?>

3 个答案:

答案 0 :(得分:6)

假设是:

Route::controller('/', 'EntriesController');

答案 1 :(得分:4)

如果您的命名正确但仍然出现此类错误,请执行

composer update

此命令将刷新您的作曲家自动加载文件(以及其他文件)。

答案 2 :(得分:1)

在我的情况下,文件的名称是PostController.php,但在我的内部

class Post extends \BaseController {

而不是

class PostController extends \BaseController {

我不得不将文件重命名为&#34; php artisan generate:controller&#34;命令需要指定单词控制器。