2016-03-28 44 views
0

我一直在努力,包括一些在我的Yii擴展CWebApplication類....沒有定義

'components' => array(
    'ExcelExporter' => array(
     'class' => 'application.extensions.webcomum.components.ExcelExporter.excelExporter', 
    )` 

我想調用這個類是這樣的:

$request = Survey::model()->findAll(); 
Yii::app()->ExcelExporter->exporter($request); 

類/方法頭是

class ExcelExporter extends CApplicationComponent { 
public static function exporter($sqlRequest) { 
... 
} 
} 

我在config/main.php上使用的路徑是正確的。 我錯過了什麼?

如果我只包括這個類,一切都可以正常工作。

所有幫助表示讚賞,謝謝你的進步。

編輯︰ 我試着去除靜態和調用方法我以上所示相同的方式,但它仍然無法正常工作。

回答

0

當你致電Yii::app()它是有效的,即它是否返回一個有效的對象。另外exporter被聲明爲靜態,並且您使用->來調用它。

是正確的......這裏的情況

class excelExporter { 

如果這是

class ExcelExporter { 

通常組件也從Yii的類繼承,即

class ExcelExporter extends CApplicationComponent { 
+0

是的,Yii :: app()返回一個有效的對象。 我像你說的那樣把excel固定到Excel上,而且我也把這個擴展......但錯誤仍然顯示。 我應該如何調用靜態方法? –

0

我的問題是我的路徑和我的代碼放在哪裏......我在後臺調用它,但代碼位於前端... 謝謝你的幫助:)