将变量传递给刀片视图的首选方法

时间:2016-02-01 14:53:04

标签: php laravel laravel-5.2

所以我在Laravel 5中的一个小型CMS上工作,而我不能完全得到的第一件事就是将变量传递给视图。

我见过像

这样的东西

return View('view', array('name' => 'your name here'));

视图编辑器中的变量

public function compose($view) {
    $view->with(Config::get('configfile'));
}

但我仍然想知道是否有更好/更优雅的方式来做到这一点。例如,对于第一种方法,我必须在每个视图中给它那个数组,这看起来很麻烦,而对于视图作曲家来说,感觉应该有一个更好的解决方案。

是否有推荐的方法在视图上推送这些变量?

另外,我正在谈论每个视图中需要的一组变量。例如网站的名称和口号。

感谢。

2 个答案:

答案 0 :(得分:1)

您是否考虑过view()->share查看文档Sharing Data with All Views

<?php

namespace App\Providers;

class AppServiceProvider extends ServiceProvider
{
    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {
        view()->share('key', 'value');
    }
}

它允许您与所有视图共享数据。如果您需要在大多数视图中访问它,我没有看到任何原因导致您无法以这种方式加载所有配置。

答案 1 :(得分:0)

您可以使用路径模型绑定:https://laravel.com/docs/5.2/routing#route-model-binding进行特定于模型的数据绑定。除此之外,没有(实际)方法可以做到这一点。