在serviceprovider中的Laravel包开发注册刀片部分

问题描述 投票:1回答:1

我正在为Laravel 5.6框架构建一个包。我想注册一个刀片@section('content');,以便开发人员可以使用@yield('content');并将其添加到它自己的应用程序中。

目前在我的Package serviceProvider中,我注册了这样的视图:

public function boot()
{
    $this->loadViewsFrom(__DIR__.'/../resources/views', 'views');
}

但是,当将@section('content');添加到该目录中的视图时。我不能在我的laravel应用程序视图中使用它(@yield('content');)。

我不想将我的包视图发布到Laravel应用程序视图!

我怎么能实现这个目标?我希望我的问题得到很好的阐述。如果您有任何疑问,请告诉我。

谢谢!

php laravel package service-provider
1个回答
1
投票

你不能用yield()达到这个目的,你必须扩展刀片。

这是一个示例,在您的ServiceProvider中

 Blade::directive('datetime', function ($expression) {
        return "<?php echo ($expression)->format('m/d/Y H:i'); ?>";
    });

现在,您可以在视图中使用它。

@datetime(Your date)

希望这可以帮助。

© www.soinside.com 2019 - 2024. All rights reserved.