2014-09-25 7 views
1

Я недавно работал над каким-то кодом, и я получил эту ошибку: Отражение валидатор Exception Класс не существует на линии 20.Как исправить Reflection Exception Класс валидатор не существует ошибка

Это последняя партия коды, имеет ошибку, и является поставщиком услуг регистрации:

/** 
* Register bindings 
* 
* @return void 
*/ 
public function register() 
{ 
    $this->repositories(); 

    $this->app->bind('\Desk\Forms\MessageForm', function($app) { 
     $validator = $app['validator']->make([], []); (line 20) 
     return new \Desk\Forms\MessageForm($validator); 
    }); 
} 

/** 
* Register Repositories 
*/ 
protected function repositories() 
{ 

    $this->app->bindShared('\Desk\Repositories\MessageRepository', function($app) { 
     $record = new \Desk\Records\MessageRecord; 
     return new \Desk\Repositories\MessageRepository($record); 
    }); 
} 

поставщик услуг:

/** 
* Register bindings 
* 
* @return void 
*/ 
public function register() 
{ 
    $this->registerSupport(); 
} 

контроллер:

protected $messageForm; 

public function __construct(MessageForm $messageForm, MessageRepository $messageRepository, 
    MessageRecord $messageRecord) 
{ 
    $this->messageForm = $messageForm; 
    $this->messageRepository = $messageRepository; 
    $this->messageRecord = $messageRecord; 
} 

/** 
* Display a listing of the resource. 
* GET /messages 
* 
* @return Response 
*/ 
public function index() 
{ 
    return View::make('message.create'); 
} 

app.config

'providers' => array(

    'Illuminate\Foundation\Providers\ArtisanServiceProvider', 
    'Illuminate\Auth\AuthServiceProvider', 
    'Illuminate\Cache\CacheServiceProvider', 
    'Illuminate\Session\CommandsServiceProvider', 
    'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider', 
    'Illuminate\Routing\ControllerServiceProvider', 
    'Illuminate\Cookie\CookieServiceProvider', 
    'Illuminate\Database\DatabaseServiceProvider', 
    'Illuminate\Encryption\EncryptionServiceProvider', 
    'Illuminate\Filesystem\FilesystemServiceProvider', 
    'Illuminate\Hashing\HashServiceProvider', 
    'Illuminate\Html\HtmlServiceProvider', 
    'Illuminate\Log\LogServiceProvider', 
    'Illuminate\Mail\MailServiceProvider', 
    'Illuminate\Database\MigrationServiceProvider', 
    'Illuminate\Pagination\PaginationServiceProvider', 
    'Illuminate\Queue\QueueServiceProvider', 
    'Illuminate\Redis\RedisServiceProvider', 
    'Illuminate\Remote\RemoteServiceProvider', 
    'Illuminate\Auth\Reminders\ReminderServiceProvider', 
    'Illuminate\Database\SeedServiceProvider', 
    'Illuminate\Session\SessionServiceProvider', 
    'Illuminate\Translation\TranslationServiceProvider', 
    'Illuminate\Validation\ValidationServiceProvider', 
    'Illuminate\View\ViewServiceProvider', 
    'Illuminate\Workbench\WorkbenchServiceProvider', 

    'Way\Generators\GeneratorsServiceProvider', 
    'Desk\ServiceProvider', 
    'Desk\Auth\AuthServiceProvider', 
    'Desk\Parts\PartServiceProvider', 
    'Desk\Desk\Repositories\RepoServiceProvider', 
    'Desk\Desk\Forms\FormServiceProvider', 
    'Desk\Desk\DeskServiceProvider', 

ответ

1

Кажется, что это код для пользовательского поставщика. Вероятно, вы должны добавить его в конце своего раздела providers в файле app/config/app.php и определить после 'Illuminate\Validation\ValidationServiceProvider', потому что здесь создается $validator.

Как я уже сказал идти в app/config/app.php файл и найти раздел, который начинается с

'providers' => array(

Теперь отредактируйте список провайдеров, чтобы поставить поставщика в конце списка провайдеров:

'providers'  => array(

    // here all list of all default providers 
    // here your custom provider 
), 

EDIT

Затем вы должны попытаться изменить:

$validator = $app->make('validator')->make([], []); 

в

$validator = $app['validator']->make([], []); 
+0

Я извиняюсь, но я не уверен, что вы имеете в виду. –

+0

Измените свой вопрос, чтобы включить начало поставщика услуг, в котором происходит ошибка; например, он должен начинаться с чего-то типа 'use Illuminate \ Support \ ServiceProvider; класс MyServiceProvider расширяет ServiceProvider {... 'перед функцией' register() '. – damiani

+0

@ will.i.am Я отредактировал свой ответ снова –