Laravel 4.x. 嗨,我正在学习助手。我有一个我想要加载的助手(helpers.php),所以我在View中的功能将能够处理数据。
我的composer.json
...
},
"autoload": {
"classmap": [
"app/commands",
"app/controllers",
"app/models",
"app/database/migrations",
"app/database/seeds",
"app/tests/TestCase.php"
],
"files" : [
"app/helpers.php"
]
},
...
但是通过运行:composer dump-autoload --optimize
我没有错误,但我的视图不处理数据
查看
<img src="foo($photo->user->name) }}.jpg" alt="" >
我的帮助.php
function foo($email)
{
//process some data here that will return the name
return "john";
}
答案 0 :(得分:4)
如果你没有得到任何关于不存在功能的错误,我认为你可能是错的。
你有这个:
<img src="foo($photo->user->name) }}.jpg" alt="" >
但应该有这个:
<img src="{{ foo($photo->user->name) }}.jpg" alt="" >
答案 1 :(得分:3)
在classes
app/
目录
将app/start/global.php
修改为
ClassLoader::addDirectories(array(
app_path().'/commands',
app_path().'/controllers',
app_path().'/models',
app_path().'/database/seeds',
app_path().'/classes', //add this
));
在新创建的Helpers.php
目录中创建classes
文件。
<?php
class Helpers {
public static function myCoolFunction() {
return "so cool";
}
}
有时您可能需要运行composer dump-autoload
。
在这里:Helpers::myCoolFunction();
另一种快速方式(实际上有几种方法),但不推荐,将你的功能放到boostrap/start.php
。你可以随时随地打电话。