【发布时间】:2015-05-19 09:28:33
【问题描述】:
我的项目根目录中有一个 helpers 文件夹(因此,在 app/ 文件夹之外)。在我的 composer.json 中,我自动加载它:
"autoload": {
"classmap": [
"app/Http/Controllers",
"app/Models",
"database",
"libraries",
"helpers" // <- Helpers autoloaded here
],
...
},
助手的方法是静态的,它们在视图和控制器中正常工作。现在我尝试在第二个助手(Helper_2.php)中使用一个助手(Helper_1.php),如下所示:
class Helper_2 {
protected static $value = Helper_1::getValue();
...
}
但是在声明 $value 字段的那一行,我得到一个错误:
语法错误,意外的 '(',期待 ',' 或 ';'
我不确定为什么会发生这种情况。语法显然是正确的。
更新 - Helper_1.php 代码:
class Helper_1 {
public static function getValue() {
$result = '';
switch (Storage::getDefaultDriver()) {
case 'local':
$result= URL::to('/');
break;
case 's3':
$path = Storage::getDriver()->getAdapter()->getClient()->getObjectUrl(env('S3_BUCKET'), '');
break;
}
return $result.'/';
}
}
【问题讨论】:
-
如果有帮助,您可以接受更多读者的答案:)