如何从Laravel软件包注册View::composer?



如何从Laravel软件包中注册View::composer以用于Laravel项目?

在我的包服务提供商中,我有一个带有路由/视图等的引导方法,这在注册函数中:

public function register()
{
$this->app->register(ComposerServiceProvider::class); 
}

在作曲家服务提供程序中,我有:

public function boot()
{
View::composer(
'admin.*', ProfileComposer::class
);
}

这应该将 ProfileComposer 类加载到所有 admin.* 视图中,但它不起作用。它肯定是在将类加载为引导方法中的dd('Test');在浏览器中显示"Test"消息,只是不应用视图编辑器。

我在Laravel文档中看不到有关从包加载View Composer的任何内容

此代码已从我的工作 laravel 项目中提取,可用作未来的包,但视图作曲家导致问题

我自己的一个软件包中的一个代码片段:

class ServiceProvider extends IlluminateSupportServiceProvider
{
public function boot(Factory $view)
{
$view->composer('template::name', ProfileComposer::class);
}
}

官方文档没有提到包,但它的工作方式完全相同。唯一的区别是文件系统上的位置,但使用正确的命名空间,您可以按照文档进行操作:https://laravel.com/docs/5.8/views#view-composers

最新更新