Php Laravel5包视图

Php Laravel5包视图,php,laravel,package,laravel-5,Php,Laravel,Package,Laravel 5,我用板条箱包装了“za网络/标签” composer.json: { "name": "za-web/tags", "description": "", "authors": [ { "name": "Aleksandr Zamiatin", "email": "cawa123@mail.ru" } ], "require": { "php": ">=5.

我用板条箱包装了“za网络/标签”

composer.json:

{
    "name": "za-web/tags",
    "description": "",
    "authors": [
        {
            "name": "Aleksandr Zamiatin",
            "email": "cawa123@mail.ru"
        }
    ],
    "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();
我得到了一个错误:没有为[tags]定义提示路径

只有在register()方法中添加到TagsServiceProvider时,它才有效:


您的解决方案可以正常工作,但正如包开发中所述,您应该将以下内容添加到服务提供商的引导方法中:

public function boot()
{
    $this->loadViewsFrom(__DIR__.'/path/to/views', 'courier');
}
而不是

 View::addNamespace('tags', __DIR__ . '/../../views');
如果要发布包视图,请不要忘记使用publishes方法:

public function boot()
{
    $this->loadViewsFrom(__DIR__.'/path/to/views', 'courier');

    $this->publishes([
        __DIR__.'/path/to/views' => base_path('resources/views/vendor/courier'),
    ]);
}

L5现在只支持编写器包
public function boot()
{
    $this->loadViewsFrom(__DIR__.'/path/to/views', 'courier');

    $this->publishes([
        __DIR__.'/path/to/views' => base_path('resources/views/vendor/courier'),
    ]);
}