在我的主视图中包含包视图

时间:2016-10-27 05:35:04

标签: php laravel laravel-5.3 laravel-blade

我的Laravel项目中有一个包,它有自己的视图。我需要在项目的主视图中包含该视图。我的包被命名为Tkabir \ Somepackage。在我的项目的config / app.php中,我已将包的服务提供商包含在

'providers' => [
    /*
     * Package Service Providers...
     */
    Tkabir\Somepackage\SomeServiceProvider::class,
]

还包含了包的外观别名

'aliases' => [
    /*
     */
    'Somepackage' => Tkabir\Somepackage\Facade\Somepackage::class,
]

但是,当我尝试在主视图中包含来自包的视图时:

@include('Somepackage::welcome')

... welcome.blade.php是我的包中的刀片视图文件,显示以下错误:

  

FileViewFinder.php第112行中的ErrorException:   没有为[Somepackage]定义提示路径。 (查看:E:\ xampp \ htdocs \ laravel-> projects \ test_package \ resources \ views \ welcome.blade.php)

这里似乎有什么问题?

如果有人需要查看文件,请点击Github中我的包裹的链接:mypackage

1 个答案:

答案 0 :(得分:1)

@include包含一个视图。你正在调用一个类的方法。

您正确地使用

包含配置
$this->publishes([
    .'/Config/somepackage.php' => config_path('somepackage.php'),
], 'config');

您需要在服务提供商的boot()方法中为您的观点做同样的事情:https://laravel.com/docs/5.3/packages#views |标题:发布视图

您还需要像配置一样运行php artisan vendor:publish,并将您的观点包含在@include

请查看我为Laravel

中构建包的完整文档提供的链接