2015-08-10 2 views
0

Я пытаюсь использовать библиотеку PHP Vanilla PHP в моем контроллере.Vanilla PHP внутри контроллера

Это то, что я пытаюсь сделать:

include(app_path().'/includes/Pusher.php'); 

$pusher = new Pusher('KEY', 'KEY', '1234'); 
$pusher->trigger('bid_channel', 'NewBid', $auction); 

Я знаю, что есть толкатель пакеты, но каждый из них сломана, так или иначе. Пакеты vinkla Фасады не работают.

Я использовал приведенный выше код успешно routes.php, чтобы проверить это, но когда я положил его в мой контроллер я получаю эту ошибку:

FatalErrorException in APIController.php line 40: Class 'App\Http\Controllers\Pusher' not found

Любая помощь будет оценен по достоинству!

+0

Возможный дубликат [Импорт класса без пространства имен в класс с расширением имен] (http://stackoverflow.com/questions/8574794/importing-class-without-namespace-to-namespaced-class) –

+0

Можно использовать инъекцию зависимостей или переименуйте фасад вместе, чтобы получить пакет * vinkla/pusher *. – Jeemusu

+0

@Jeemusu Я предпочитаю использовать Фасады. Я просто не знаю, как правильно переименовать его: http://stackoverflow.com/questions/31912408/renaming-a-facade-conflicts – KriiV

ответ

2

Вам нужно указать класс Pusher в его пространстве имен. По-видимому, он не использует преимущества конкретных пространств имен, поэтому пространство имен будет базовым пространством имен.

Try:

$pusher = new \Pusher('KEY', 'KEY', '123'); 

Это происходит потому, что в верхней части файла контроллер будет:

namespace App\Http\Controllers; 

Это помещает файл в App\Http\Controllers пространства имен, так что все в базовом пространстве имен будет должны иметь ведущую косую черту, указывающую, что класс находится в базовом пространстве имен.

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