Laravel在配置文件中调用对象方法时崩溃
问题描述:
当我尝试在配置文件中调用对象方法(或静态方法)时,遇到了问题(laravel崩溃)。我用它在一个地方缓存所有格式化的产品价格。请建议我如何解决这个问题?请看以下代码:Laravel在配置文件中调用对象方法时崩溃
应用程序\ routes.php文件:
Route::get('test', function() {
dd(Config::get('settings.productPrices'));
});
应用程序\ CONFIG \ settings.php中:
$setting_data['productPrices'] = Cache::remember('settings.productPrices', 60, function()
{
$products = Product::all();
$prices = [];
foreach ($products as $product) {
$prices [$product->id] = $product->getPriceFormatted();
}
return $prices;
});
return $setting_data;
getPriceFormatted法正常工作。如果我使用$ product-> price而不是$ product-> getPriceFormatted(),则一切正常。
应用程序\型号\ Product.php:
public function getPriceFormatted() {
if (Config::has('settings.exchangeRateUsdToUah')) {
return Config::get('settings.exchangeRateUsdToUah') * $this->price. ' UAH';
}
return $this->price . ' USD';
}
附: Config :: get('settings.exchangeRateUsdToUah')工作正常。
答
配置在Laravel完全安装之前加载,因此此时我无法使用其大部分部件。
您将需要告诉我们它是如何“崩溃”,比如,你看到了什么错误/异常?没有这些,没有人能够确定发生了什么。 – ollieread 2014-11-25 11:33:37
页面无限加载。和其他网站页面也不反应。即使pc重新启动任何页面不起作用。 – 2014-11-25 12:58:38
“不起作用”是描述性最差的事情 – lagbox 2014-11-25 14:54:36