php – Laravel:在视图中调用base_controller中定义的函数

前端之家收集整理的这篇文章主要介绍了php – Laravel:在视图中调用base_controller中定义的函数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在使用Laravel框架时,如何在视图中调用base_controller中定义的函数.对于exacmple:
class Base_Controller extends Controller {

    public static function format_something()
    {
         return something;
    }
}

我如何在视图文件调用format_something()?

通常我的错误看起来像这样:
View类没有定义方法[link_to_action].

可能是一个愚蠢的问题,但谢谢提前!

编辑

好的!首先正确的地方做这样的事情是在库文件夹.
第二,问题是你的班级不能有下划线.

所以在应用程序/库中,我将文件AppHelper.PHP与类

class AppHelper {

    public static function format_something()
    {
        return something;
    }
}

可以称之为:

$formated = AppHelper::format_something;

感谢您的帮助和良好的论坛找到Boofus McGoofus.

这个答案是为Laravel 3写的.对于Laravel 4和之后,LajdákMarek的回答使用Composer的自动装载机更好.

像format_something()这样的函数不属于控制器.控制器应该是从各种来源收集数据并将其传递给视图.它的工作大多只是路由.

我在应用程序文件夹中创建了一个名为“helpers”的文件夹,用于所有我的小帮手功能.为了确保我的所有控制器,视图和模型都可以访问它们,我已经在我的start.PHP文件添加了以下内容

foreach(glob(path('app').'helpers/*.PHP') as $filename) {
    include $filename;
}

我怀疑有更好的方法去做,但到目前为止,它对我来说是有效的.

猜你在找的Laravel相关文章