2012-01-11 46 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应该加载你配置的任何东西。

祝你好运