【问题标题】:View Composers vs Blade Service Injection in Laravel 5.4在 Laravel 5.4 中查看 Composers 与 Blade 服务注入
【发布时间】:2017-06-28 19:40:56
【问题描述】:

Laravel 5.4 中的 View Composers 和 Blade Service Injection 有什么区别???

使用哪一个以及为什么?

【问题讨论】:

    标签: laravel laravel-5.4 blade


    【解决方案1】:

    Blade Service Injection 使您可以将服务直接注入到单个视图中。视图作曲家可以向所有您的视图提供该服务。

    如果您只使用一次服务,请使用刀片 @inject 指令。如果您在每个视图中都需要您的服务,请使用视图作曲家

    【讨论】:

    • 感谢您的快速回复。我没有解释可能的情况,我在我的所有布局中都包含了一个菜单,我不确定哪一个适合我的情况。我只想让一个变量(在这种情况下是一个集合)在站点范围内可用,并且该菜单使用 @include 并且两种变体都可以工作。只是想知道哪个是最好的以及为什么。
    • 在您的情况下,您可能希望使用 View::share() 方法 (laravel.com/docs/5.4/views#sharing-data-with-all-views ) 与所有视图共享集合。或者,您可以使用 View Composers 调用具有返回集合的方法的服务。 Blade Service Injection 对您没有意义,因为您需要所有视图,而不仅仅是一个。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-04
    • 2019-05-12
    • 2019-02-22
    • 1970-01-01
    • 2016-07-20
    • 2019-04-15
    • 2018-12-23
    相关资源
    最近更新 更多