2014-01-07 9 views
1

При попытке загрузить страницу я получаю ошибку, что класс ReflectionException/не существует (open:/var/www/laravel_guestbook/vendor/laravel/framework/src /Illuminate/Routing/ControllerInspector.php), можно было бы рассказать о том, что вызывает эту ошибку.Laravel 4 - ReflectionException Класс/не существует

Кроме того, я также запускаю «компоновщик-дамп-автозагрузка» в корне моей папки проекта безрезультатно.

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('/'); 
    } 
} 
?> 

ответ

6

Это, предполагают, чтобы быть:

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

Да, спасибо, сэр! –

4

Если именование является правильным, но вы все равно получите этот тип ошибки сделать

composer update 

Эта команда обновит ваши файлы автозагрузки композитора (среди прочего).

+2

'composer update' будет проверять/загружать и обновлять все зависимости в проекте (что может занять некоторое время или не нужно), при необходимости просто создать новый файл автозагрузки просто используйте' composer dumpautoload'/'composer dump-autoload' https: // getcomposer.org/doc/03-cli.md#dump-autoload – Sonique

1

В моем случае имя файла было PostController.php, но внутри у меня было

class Post extends \BaseController { 

Вместо

class PostController extends \BaseController { 

мне пришлось переименовать файл как «PHP ремесленник генерации: контроллер "требуется указать контроллер слова.

Смежные вопросы