我可以在项目中使用zend translate,date和cache作为独立类吗?

时间:2010-10-01 05:38:13

标签: php zend-framework

我将使用Zend框架,但只是Zend的一些工具,如translate,date和cache。我可以将它作为独立类使用吗?我的项目有自己的结构,我不想使用整个Zend fw。如果是,我应该在项目中包含哪些文件?是否有将每个Zend fw工具作为独立工具使用的文档?

2 个答案:

答案 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文件夹复制到你的库目录。

有些时候在课堂上使用过其他一些课程。你也要复制它们。我通过阅读引发的错误找到它们。 ;)