首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel View::share

Laravel View::share
EN

Stack Overflow用户
提问于 2015-03-06 16:59:30
回答 1查看 240关注 0票数 0

试图找出一种使用全局变量的方法,而不是实际创建全局变量。

我正在工作的框架,我将用于所有未来的项目,并希望有一个数据库表包含网站的变化功能(网站名称,颜色,标志链接等)

如果我没有使用Laravel,我会在头文件include中包含一个函数文件,它设置了一个包含所有这些值的数组,这样我就可以直接调用它了。

代码语言:javascript
复制
<?= $constants['business_name] ?>

在Laravel中,我可以创建一个函数来获取一个名称,然后返回值,但这似乎是对db调用的过度浪费。

我发现:

代码语言:javascript
复制
View::share

但是我得到了变量未定义的错误。

我试过了:

代码语言:javascript
复制
public function __construct()
{
    $constants = DB::table('constants')->get();
    return $constants;
    View::share('constants', $constants);
}

在我的BaseController中,但是错误显示出来了,你知道吗?

EN

回答 1

Stack Overflow用户

发布于 2015-03-06 17:04:43

您甚至在调用View::share()之前就从构造函数返回

代码语言:javascript
复制
public function __construct()
{
    $constants = DB::table('constants')->get();
    return $constants;  // <<<<<<
    View::share('constants', $constants);
}

实际上,构造函数不应该返回任何东西,所以删除该行就可以了:

代码语言:javascript
复制
public function __construct()
{
    $constants = DB::table('constants')->get();
    View::share('constants', $constants);
}

您可能还希望查看视图编写器,以便在不需要构造函数的情况下使数据全局可用:

View composers - Laravel docs

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28895305

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档