我正在为Laravel 5.6框架构建一个包。我想注册一个刀片@section('content');
,以便开发人员可以使用@yield('content');
并将其添加到它自己的应用程序中。
目前在我的Package serviceProvider中,我注册了这样的视图:
public function boot()
{
$this->loadViewsFrom(__DIR__.'/../resources/views', 'views');
}
但是,当将@section('content');
添加到该目录中的视图时。我不能在我的laravel应用程序视图中使用它(@yield('content');
)。
我不想将我的包视图发布到Laravel应用程序视图!
我怎么能实现这个目标?我希望我的问题得到很好的阐述。如果您有任何疑问,请告诉我。
谢谢!
你不能用yield()
达到这个目的,你必须扩展刀片。
这是一个示例,在您的ServiceProvider中
Blade::directive('datetime', function ($expression) {
return "<?php echo ($expression)->format('m/d/Y H:i'); ?>";
});
现在,您可以在视图中使用它。
@datetime(Your date)
希望这可以帮助。