Php 如何在laravel 5中从视图调用控制器

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

我使用的是Laravel 5,其中我必须从view blade调用控制器。但它向我显示了解析错误。请找到我的密码

控制器名称:ReportController(路径=app/Http/Controllers/Admin/ReportController)


视图: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.";
}