2015-10-01 59 views
3

我已經搜索了很多如何加載/包含一個簡單的類在symfony 1.4中,我什麼也沒找到。我有這種情況。在symfony 1.4中加載外部庫的最佳方法是什麼?

下:

./apps/APP_NAME/ 
    modules/MOD_NAME/lib 

我有一個類:

class MyClass { 
    function get_data(){ 
     retrun "data"; 
    } 
} 
  • 這是在控制器上加載的symfony 1.4班上最好的方法是什麼?
  • Over on config存在一些其他方式,如函數use_helper()?

更新:我要按需加載,而不是自動加載用symfony 1.4的約定命名文件MyClass.class.php

+1

有沒有理由不能'要求'MyClass.php';'該文件和'使用MyClass;'它呢?不使用自動加載器是一個奇怪的決定,但。 – HPierce

+0

需求||的問題require_once在模塊env中不靈活。例如,當我調用use_helper()作爲第二個參數時,我可以指定模塊。 – onalbi

回答

1

是不是最好的,但第一個版本,根據模塊工作ENV是:

function load_module_lib($module, $name_file) { 
     require_once (sfContext::getInstance()->getModuleDirectory() . '/../' . $module . '/lib/' . $name_file . '.class.php'); 
    } 
0

該文件允許您定義可以當Symfony的負載自動加載額外的類。和Symfony的允許您將PHP代碼.yml文件中

##apps/appName/config/autoload.yml 
autoload: 
    makeupaname: 
    name: Make up a name 
    path: <?php echo $mydynamicvar; ?>/someFolder/ 
    recursive: on 

    makeupasecondname: 
    name: Make up a second name 
    path: <?php echo $mydynamicvar; ?>someOtherFolder/ 
    recursive: on 

以及去深入這個額外的鏈接autoloading namespaces in symfony 1.4How to create/use custom classes and helper in symfony 1.4?

編輯01

如果你想要放置externel庫,您必須將其放置在lib/vendor文件夾中。你不能在app文件夾中創建它。

以及如果你只是添加新的圖書館,網站將不會加載你的圖書館。所以,只有你必須使用autoload文件來做到這一點

本文將幫助你。 Loading external libraries for symfony 2

+1

這似乎是在正常使用情況下的正確解決方案,但問題明確地呼籲使用自動裝載器_not_,並允許類按需加載 - 我不確定此解決方案。 – HPierce

相關問題