2012-01-11 53 views
0

我一直在這一天作戰。有沒有辦法安裝PHPLinq,以便它可以與Zend庫自動加載器一起使用?如何在Zend框架上安裝PHPLinq庫

或者,如果我只需要使用include,是否有一種方法可以確保其他包含在PHPLinq庫中的路徑。

很明顯,我剛剛接觸PHP,只是讓這個庫在Zend中得到認可,一直是一個殺手鐗。從來沒有想過id鬆在.net工作的日子:/

在此先感謝!

+0

你能提供一個鏈接到你正在使用的PHPLinq庫嗎? – 2012-01-11 20:50:08

+0

http://phplinq.codeplex.com/,http://plinq.codeplex.com/和http://linqforphp.codeplex.com/是我知道的三個...我猜OP是使用第一個 – 2012-01-11 21:47:50

+0

您可以爲PHPLinq庫編寫一個自動裝載器類,您可以將其推送到'Zend_Loader_Autoloader'堆棧。請參閱:http://stackoverflow.com/a/8820536/131824 – 2012-01-12 02:06:37

回答

1

Zend中的自動加載可以用於支持Zend命名約定的任何庫。也就是說,把類放在一個文件夾中,然後它下面的所有類遵循:

FOLDER_SUBFOLDER_FILENAME 

模式。所以,你需要有例如:

MyLib中> ClassName.php

和類必須調用

MyLib_ClassName 

如果這些要求都OK,然後只是做:

// Define path to application directory 
defined('APPLICATION_PATH') || define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/')); 

// Ensure /libraries is on include_path 
set_include_path(implode(PATH_SEPARATOR, array(
    realpath(APPLICATION_PATH . '/libraries'), 
    get_include_path(), 
))); 

//Include the Zend Autloader 
include('Zend/Loader/Autoloader.php'); 

//Create the autoloader and register the Activis_ namespace 
$autoloader = Zend_Loader_Autoloader::getInstance(); 
$autoloader->registerNamespace('YourFirstLevelFolder_'); 

然後當你註冊你的名字空間並確保你的類能夠工作按照命名慣例,使用NEW應該加載你配置的任何東西。

祝你好運