Я создал пакет «za-web / tags»
composer.json:
{
"name": "za-web/tags",
"description": "",
"authors": [
{
"name": "Aleksandr Zamiatin",
"email": "[email protected]"}
],
"require": {
"php": ">=5.4.0",
"illuminate/support": "5.0.*"},
"autoload": {
"classmap": [
"src/views"],
"psr-4": {
"ZaWeb\\Tags\\": "src/ZaWeb/Tags"}
},
"minimum-stability": "dev"}
И для просмотра тегов я пытаюсь сделать
return View::make('tags::cloud', ['data' => $data])->render();
И у меня есть ошибка: Не указан путь подсказки для laravellaravel-5packagephp,
Это работает, только если я добавлю в TagsServiceProvider в методе register ():
View::addNamespace('tags', __DIR__ . '/../../views');
Ваше решение работает, но, как описано в Документация по Laravel 5 при разработке пакета вы должны добавить в метод загрузки вашего ServiceProvider:
public function boot()
{
$this->loadViewsFrom(__DIR__.'/path/to/views', 'courier');
}
вместо
View::addNamespace('tags', __DIR__ . '/../../views');
Если вы хотите опубликовать свои представления пакетов, не забудьте использовать метод публикаций:
public function boot()
{
$this->loadViewsFrom(__DIR__.'/path/to/views', 'courier');
$this->publishes([
__DIR__.'/path/to/views' => base_path('resources/views/vendor/courier'),
]);
}
Других решений пока нет …