我的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
答案 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
中构建包的完整文档提供的链接