2012-06-01 82 views
0

我有2個應用程序:前端和後端。symfony 1.4,訪問自定義任務中的模塊級庫lib

我用下面的命令運行自定義任務:

php symfony newCron:createClusters --application=frontend 

在每一個應用程序我有一個lib文件夾和文件夾modules。通過上述命令只能訪問apps->frontend->lib文件夾,而apps->frontend->modules->module1->lib中的lib文件夾不可訪問。

如何訪問我的任務中的模塊級lib文件?

我嘗試在config方法中使用addOption命令,但仍然沒有任何反應。

+0

但是'module-> lib'文件夾中的lib沒有自動加載? – j0k

+0

不,它們不是 – user1085195

+0

爲什麼不將這些庫移動到'/ lib'或'frontend/lib'文件夾中,而不是爲模塊專用(因爲您想從任務訪問它們) ? – j0k

回答

1

我想你有兩個選擇。

的 「symfony的方式」

使用autoload.yml(在apps/frontend/config/autoload.yml):

autoload: 
    my_module_lib: 
    path:  %SF_APP_MODULE_DIR%/name_of_your_module/lib 
    recursive: true 

的 「PHP老辦法」

使用基本require_once你的任務中:

class createClustersTask extends sfBaseTask 
{ 
    /** 
    * @see sfTask 
    */ 
    protected function configure() 
    { 
    require_once sfConfig::get('sf_app_module_dir') . '/name_of_your_module/lib/name_of_your_first_lib.class.php'; 
    require_once sfConfig::get('sf_app_module_dir') . '/name_of_your_module/lib/name_of_your_second_lib.class.php'; 
+0

如何從我的任務調用autoload.yml的模塊庫部分? – user1085195

+0

由於您正在爲該任務提供應用程序,因此它將自動加載。 – j0k