Laravel 4 - как использовать класс пакета в качестве работника очереди
Я собрал свой первый пакет Laravel 4.
Я использовал ремесленника, чтобы создать структуру.
Мне нужно использовать пакет для обработки очереди (как рабочий).
Я использую встроенную очередь Beanstalk и настроил ее, и я могу добавить в очередь.
Какой правильный синтаксис для добавления правильного пути к классу, который я хотел бы использовать для обработки очереди.
Я могу заставить это работать, если класс сохранен здесь /app/controllers/TestClass.php (потому что это автоматически загружается)
Пример:
Route::get('/addtoqueue', function()
{
$message = "This is a test message";
Queue::push('TestClass', array('message' => $message));
return 'Added to Queue';
});
Но что я должен добавить в качестве класса в очереди, если класс находится в пакете?
Этот файл находится в рабочей среде: workbench \ vendor \ package \ src \ Vendor \ Package
Мой файл компоновщика пакета содержит
"autoload": {
"psr-0": {
"Qwickli\\Tika": "src/"
}
},
Например. Queue::push('vendor\package\TestClass', массив ('message' => $message));
Когда я запускаю php artisan queue:listen, он правильно подбирает элементы в очереди, но не находит класс (в пакете), который я хотел бы использовать, чтобы обработать очередь.
По какой-то причине класс не загружается (или не загружается автоматически), и я не знаю, как это сделать.
Спасибо за все и любую помощь
1 ответ
Похоже, ваши классы пакетов не были автоматически загружены.
Попробуйте получить доступ к папке вашего пакета, workbench / vendor / package и запустить обновление compsoer. Если настройки "автозагрузки" вашего композитора верны, это должно сработать.