如何结合 zend 框架和 Codeigniter ?
我有两个应用程序,一个是zend,另一个是codeigniter,是否可以将两个框架合并到一个项目中?如果是这样,如何结合这两个框架以及文件结构是什么?
谢谢你的帮助。
如何结合 zend 框架和 Codeigniter ?
我有两个应用程序,一个是zend,另一个是codeigniter,是否可以将两个框架合并到一个项目中?如果是这样,如何结合这两个框架以及文件结构是什么?
谢谢你的帮助。
当然这是可能的。
我参与过一个项目,我们同时拥有 Zend + CodeIgniter。
这是您需要做的:
1.将您的 Zend 文件夹(库)复制粘贴到 CodeIgniter 的库中,反之亦然,将 CodeIgniter 库复制到 zend 库文件夹中。
2.如果在codeigniter中,调用它使用$this->load->library('Zend', '{anything here}')
或在Zend使用自动加载器
您将面临的问题(我面临的):
Zend 使用 Zend Auth 命名空间,它使用 $_SESSION。而 CI 不使用 $_SESSION 而是有它自己的内置系统。使用 Zend 并(假设您的整个应用程序仅在同一个域上)查看它存储的身份信息,直接通过 CI 检查 $_SESSION 并分配 CI cookie。这是我发生的事情并检查解决方案。
CI 和 Zend 都有不同的 Forms 库,不要在加载 Zend Library 的类(在 CI 下)中使用 CI 的 Form,只需记住这一点即可。因此,您需要制定策略来实现它,Zend on CI 或 CI on Zend。不要在 CI 表单中使用 Zend 的验证器(我知道没有人会这样做,但是一旦我这样做了,任何人都可以这样做!不要这样做)。使用您将用于表单的相同安全库
就个人而言,我的项目做得很好(经过大量研究之后),它是:Zend 上的 CI,我不得不使用 Zend Auth。
问题?:)
就组合框架而言,通常最好坚持一个框架的意识形态。否则,为什么要使用该框架?保存特定的功能。
就 CI 和 Zend 框架而言,Zend 实际上被构建为更加模块化(无论如何它本质上是一个库的集合),并且比其他方式更容易合并到 CI 中。
这是使用许多已经解决的 PHP 框架的人中的一个常见“问题”。
一个快速的谷歌出现了以下内容:
http://viraksun.com/tutorials/integrate-zend-library-in-code-igniter/
http://www.beyondcoding.com/2008/02/21/using-zend-framework-with-codeigniter/
http://www.gotphp.com/codeigniter-with-zend-framework-libraries/54312/
要更直接地回答您的问题:
您可以简单地将“Zend”文件夹(来自 Zend_Download_Folder/library)放在主“libraries”文件夹或您的个人应用程序/libraries 文件夹中。
然后,在任何控制器中使用加载器类来加载您想要使用的任何 Zend 类。
例如,要使用 Zend_Pdf,请在控制器中执行以下操作:
//load it
$this->load->library('Zend/Pdf');
//use it
$zendPdf = new Zend_Pdf();
$zendPdf->someMethod();
资源:
http://codeigniter.com/user_guide/general/creating_libraries.html