2014-11-25 54 views
0

当我尝试在配置文件中调用对象方法(或静态方法)时,遇到了问题(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')工作正常。

+0

您将需要告诉我们它是如何“崩溃”,比如,你看到了什么错误/异常?没有这些,没有人能够确定发生了什么。 – ollieread 2014-11-25 11:33:37

+0

页面无限加载。和其他网站页面也不反应。即使pc重新启动任何页面不起作用。 – 2014-11-25 12:58:38

+0

“不起作用”是描述性最差的事情 – lagbox 2014-11-25 14:54:36

回答

0

配置在Laravel完全安装之前加载,因此此时我无法使用其大部分部件。

相关问题