Php 如何在laravel 5中从视图调用控制器
我使用的是Laravel 5,其中我必须从view blade调用控制器。但它向我显示了解析错误。请找到我的密码 控制器名称:ReportController(路径=app/Http/Controllers/Admin/ReportController)Php 如何在laravel 5中从视图调用控制器,php,laravel-5,Php,Laravel 5,我使用的是Laravel 5,其中我必须从view blade调用控制器。但它向我显示了解析错误。请找到我的密码 控制器名称:ReportController(路径=app/Http/Controllers/Admin/ReportController) 视图:customerorders.blade.php <?php use App\Http\Controllers\Admin\ReportController; echo ReportController::my('h
视图:customerorders.blade.php
<?php
use App\Http\Controllers\Admin\ReportController;
echo ReportController::my('hello');
?>
我面对这个错误:
方法Illumb\View\View::\uu toString()不能引发异常,
捕获错误异常:分析错误:语法错误,意外的“使用”
(T_使用)
(视图:/opt/lampp/htdocs/buddyiqèu dev/resources/views/Admin/reports/customerorders.blade.php)
我从下面的堆栈url引用上面的代码
请帮助我解决此问题。使用绝对路径而不是相对路径,您可以如下所示使用此路径
\App\Http\Controllers\Admin\ReportController
但是您已经使用了
App\Http\Controllers\Admin\ReportController
,请在每个地方更改它。所以我只是在我的一个Laravel设置上尝试了这个。我不确定这是否是最好的方法,但它是有效的
将您的函数声明为
public static function my($args)
{
echo $args."I am called on view.";
}
你已经做到了。然后从视图中将其调用为
{{App\Http\Controllers\Admin\ReportController::my($args)}
您可以尝试使用ajax调用控制器中的函数,然后获取响应并将其推送到视图中。
关于响应,请记住将
return
放在函数中。如果调用控制器方法的动机只是输出字符串,那么控制器可能不合适。控制器将模型和视图绑定在一起
视图实际上不应该知道控制器方法。您最好研究视图辅助方法
这也在您链接到的问题中得到了回答
如果您有一个在多个地方使用的函数,您可以
应该在助手文件中定义它
此Q/A很有用您是否修复了绝对路径?您是否正确配置了自动加载文件,请检查是否存在“psr-4”:{“App\\”:“App/”},
public static function my($args)
{
echo $args."I am called on view.";
}