Laravel View Composer“使用未定义的常量”

Posted

技术标签:

【中文标题】Laravel View Composer“使用未定义的常量”【英文标题】:Laravel View Composer "Use of undefined constant" 【发布时间】:2014-04-23 09:23:01 【问题描述】:

整个晚上都在寻找,这一切看起来都那么简单,但就是行不通!

刚开始并尝试将变量放入视图中。

无论我做什么,我似乎都看不懂。

routes.php

Route::get('/', function()

    return View::make('dashboard');
);

View::composer('dashboard', function($view) 
    $view->with('links', "something");
);

dashboard.blade.php:

@extends('base_view')

@section('content')
    All the stuff!
    links
@stop

base_view.blade.php

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Laravel PHP Framework</title>
</head>
<body>
    <div>TeamPro</div>
    <div>@yield('content')</div>
</body>
</html>

请告诉我我只是在做一些愚蠢的事情!

【问题讨论】:

【参考方案1】:

使用$links,而不是links

@section('content')
    All the stuff!
     $links 
@stop

PHP 中的每个变量都应该以$ 符号开头。如果没有$,PHP 将其视为常量。

【讨论】:

我是个白痴!那个美元符号夺走了我生命的一部分! @RykWaters - 我们都去过那里。 ARGH 我也这样做了!甚至读了这篇文章,把它解开,然后回来意识到我已经做到了。 @RykWaters 哈哈!同样在这里。使用 Angular Views 和 Blade 会搞砸。【参考方案2】:

这只是一个简单的语法问题,您发送到视图的所有内容都是 php 变量,因此仍需要使用 $ 引用

在您看来,您引用的 links 没有美元符号。

如果您将其更新为:

 $links 

你会没事的

【讨论】:

以上是关于Laravel View Composer“使用未定义的常量”的主要内容,如果未能解决你的问题,请参考以下文章

php Laravel View Composer

在扩展布局的视图中无法访问Laravel View Composer变量

Laravel View Composer 为每个视图复制 SQL 查询

带有存储库的 Laravel View Composer 不工作;

View Composer 在我的 Laravel 应用程序中不起作用

使用 Laravel、Vue-2、vue-composer 在 Ajax 中发布错误