2013-11-15 54 views
0

我在.php文件中有一箇舊的php函數,並且想包含並從我的控制器調用此函數。 我我.PHP功能的文件複製到文件夾MYLIB先確定我在這樣的配置文件功能:從Yii控制器調用外部函數

// autoloading model and component classes 
    'import'=>array(
     'application.models.*', 
     'application.components.*', 
     'application.myLib.*', 
    ), 

現在怎麼叫我的控制器功能?

我叫它的名字簡單,但我得到這個錯誤:

致命錯誤:調用未定義的函數myFunction的()在C:\ XAMPP \ htdocs中\測試\受保護的\ \控制器上TestController.php 10號線

+0

「myLib」文件夾位於何處? – Kai

+0

保護文件夾內。 – b24

回答

1

Yii自動加載器是用來加載類的,因爲它會在類被調用時加載類的文件。所以這不適用於文件中的單例函數。

你可以做的是做一個輔助類,並將該函數作爲靜態方法添加到類中。

例如:

class MyLib 
{ 
    public static function myFunction() 
    { 
      //do stuff here 
    } 
} 

,然後你可以叫你的功能,像你

MyLib::myFunction(); 

像以前那麼該類存儲文件/protected/helpers/MyLib.php在

,並在配置做:

'import'=>array(
    'application.models.*', 
    'application.components.*', 
    'application.helpers.*', 
), 
+0

這是工作。謝謝... – b24