我将使用Zend框架,但只是Zend的一些工具,如translate,date和cache。我可以将它作为独立类使用吗?我的项目有自己的结构,我不想使用整个Zend fw。如果是,我应该在项目中包含哪些文件?是否有将每个Zend fw工具作为独立工具使用的文档?
答案 0 :(得分:8)
请记住,要在另一个项目中使用各种Zend Framework组件,您只需要在Zend
上的某个位置放置include_path
库。使用一个组件复制整个东西可能看起来有点过分,但它只是磁盘空间。除非调用这些文件,否则这些文件不会影响性能。通过这种方式,您不必厌倦依赖关系,例如Zend_Exception
及其各种特定于组件的子类。
因此,例如,如果您有一个文件夹myapp/lib
来包含您的外部库,您只需确保您的包含路径包含该lib
文件夹并将Zend
文件夹复制到它为myapp/lib/Zend
。
然后使用像Zend_Translate
之类的组件,您只需要做以下事情:
require_once 'Zend/Translate.php';
$options = array(
// your options here
);
$translate = new Zend_Translate($options);
使用某种自动加载机制,您甚至可以避免require_once
来电。设置自动加载就像将以下内容放在某种公共/引导文件中一样简单:
require_once 'Zend/Loader/Autoloader.php';
Zend_Loader_Autoloader::getInstance();
然后可以加载PEAR 1-class-1-file naming convention之后的任何类,而无需显式添加任何require / include语句。
如果磁盘空间真的是一个问题而你真的不想要整个Zend
库,那么你可以调查一个打包器,比如Jani Hartikainen's Packageizer。
答案 1 :(得分:2)
作为答案我当然可以说是的。
例如,如果你想使用Zend_Translate将Translate.php和Translate文件夹复制到你的库目录。
有些时候在课堂上使用过其他一些课程。你也要复制它们。我通过阅读引发的错误找到它们。 ;)