使用未定义的常量analyticsData-假定为'analyticsData'(这将在以后的PHP版本中引发错误)(查看:/home/vagrant/apps/rt2018/resources/views/records.blade.php)(查看:/home/vagrant/apps/rt2018/resources/views/records.blade.php)“
我的records.blade.php文件
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Hello Analytics - A quickstart guide for JavaScript</title>
</head>
<body>
<h1>Hello Analytics</h1>
{{analyticsData}}
</body>
</html>
我的控制器
use Spatie\Analytics\Period;
use Analytics;
public function showMonthlyReport($site_id, $report_id){
$reports = Report::where('report_id', $report_id)->firstOrFail();
$analyticsData = Analytics::fetchMostVisitedPages(Period::days(7));
return view('records', compact('site_id', 'report_id', 'reports', 'analyticsData'));
}
这是我的records.blade.php
刀片服务器文件路径
<a href="{{route('Reports',['site_id'=>$report->site_id, 'report_id'=>$report->report_id])}}">view</a>
我试图在控制器中放入任何变量。例如$wow = 1;
在我的控制器的返回视图上添加“哇”
然后放到我的刀片上{{wow}}会给我同样的错误。
这是以前工作的,但我不知道会发生什么。
放在刀片上的任何{{object}}
都会给我这个错误。 Use of undefined constant (any declared object)
。当我尝试删除/注释analyticsData以及我的刀片文件中的注释时,它正在运行。在我现在使用Laravel 5.4之前,它已经在Laravel 5.2和PhP 7.2上工作。我知道不是因为版本。您知道如何解决此问题吗?预先谢谢你!
答案 0 :(得分:1)
以在analyticsData
中访问.blade.php
的情况为例:
{{ analyticsData }}
在PHP中尝试访问变量时省略$
会尝试访问具有相同名称的常量。在这种情况下(大多数情况下),这是一个错字,并且从未定义过常量。该错误消息可能有些含糊,但是在您了解其要执行的操作时才有意义。
要解决此问题,只需正确引用变量,并附带$
:
{{ $analyticsData }}