在使用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; }
我怀疑有更好的方法去做,但到目前为止,它对我来说是有效的.