在4我只使用了一个函数laravel

$varbl = App::make("ControllerName")->FunctionName($params);

从我的刀模板调用控制器功能(查看网页)。现在我用laravel 5做的一个新项目,我试过这个方法从我的刀模板调用控制器的功能,但它不工作,显示出了一些错误。有什么方法能从5个视图页面调用laravel控制器的功能?

分享改善这个问题
 

5个答案 正确答案

如果你有一个功能,被用在多个地方你应该定义在助手文件,这样创建一个(可能)在应用程序/ HTTP /助手文件夹并命名为helpers.php,提到这个文件在你的composer.json autorun块方式如下:

"autoload": {
    "classmap": [
        "database"
    ],
    "psr-4": {
        "App\\": "app/"
    },
    "files": [
        "app/Http/Helpers/helpers.php"
    ]
},

作曲家把自动加载运行,然后你可以从任何地方调用此函数,让它成为控制器的视图或模型。

如果你不需要把助手。你可以简单的叫它从控制器。只是让它static function创造

public static function funtion_name($args) {}

call 调用

\App\Http\Controllers\ControllerName::function_name($args)

如果你不喜欢很长的代码,你可以使它

ControllerName::function_name($args)

但别忘了从视图页面顶部调用它。

use \App\Http\Controllers\ControllerName;
 
 

你认为这只是尝试:

{{ ControllerName::Functionname($params); }}

<?php echo ControllerName::Functionname($params);?>

参考这个:http://laravel.io/forum/03-06-2014-what-is-the-proper-way-to-call-controllers-from-the-view?page=1

 
  
其工作........Vishal16年2月11日在8:03
 
请接受未来游客的回答。读这Engineer先生16年2月11日那些

5你可以在laravel,这样做

以你的观点:

<?php use App\Http\Controllers\ControllerName;
echo ControllerName::functionName(); ?>

该函数名应该有“静态”的关键词如

控制器的功能:

public static function functionName() {
return "Hello World!";
}
分享提高这个答案
 

控制器的方法是不应该从视图。最好的选择是从方法中返回的视图对象调用方法,其中包含了输出,然后你可以在视图中的回声;

    public function bar() {
        $foo = $this->foo();
        return view( 'my.view', compact( 'foo' ) );
    }

    protected method foo()
    {
        return 'foobar';
    }

第二选项来添加文件到compose.json文件助手

"autoload": {
    "files": [
        "app/helpers.php"
    ]
},

把你的加载,你可以从任何地方在您的应用程序中调用这些函数

分享提高这个答案
 

其实下面应该按照Laravel 5
使用:App::make(ControllerName)->functionName($parameters);
例子:App:make("TestController")->getUserInfo('user_id' => 9);

请把你得到的实际误差!

来自 https://stackoverflow.com/questions/35332784/how-to-call-a-controller-function-inside-a-view-in-lara...