Laravel, используя пакеты с PSR-4, выдает сообщение "Путь подсказки не определен для"
Я использую Laravel 4.1 и запускаю пакет (подраздел), который использует стандарт PSR-4. Когда я пытаюсь отобразить любое представление с помощью:
return View::make('subby::user.login');
Я получаю сообщение:
No hint path defined for [subby]
Я много чего переделывал, но обычно это были проблемы с опечатками
4
Author: Gonçalo Queirós, 2014-03-03
1 answers
Проблема заключается в использовании PSR-4 Поскольку Laravel по умолчанию имеет значение PSR-0, Предполагается, что ресурсы (представления и т. Д.) Пакета будут на 2 уровня выше, чем у поставщика услуг пакетов. Пример:
src
├── config
├── lang
├── migrations
├── Ghunti
│ └── Subby
│ └── SubbyServiceProvider.php
├── routes.php
└── views
└── user
└── login.blade.php
С PSR-4 поставщик услуг пакетов и представления будут на одном уровне (и появится ошибка "Путь подсказки не определен":
src
├── config
├── lang
├── migrations
├── SubbyServiceProvider.php
├── routes.php
└── views
└── user
└── login.blade.php
Чтобы исправить это, используйте метод поставщика услуг пакетов boot()
вместо:
public function boot()
{
$this->package('ghunti/subby');
}
Нам нужно указать путь к ресурсам (3-й параметр)
public function boot()
{
//For PSR-4 compatibility we need to specify the correct path (3rd parameter)
$this->package('ghunti/subby', null, __DIR__);
}
14
Author: Gonçalo Queirós, 2014-03-03 00:41:10