如何结合zend框架和Codeigniter?

时间:2012-09-04 01:57:18

标签: php codeigniter zend-framework

如何结合zend框架和Codeigniter?

我有两个应用程序,一个是zend,另一个是codeigniter,是否可以将两个框架合并到一个项目中?如果是这样,如何组合这两个框架以及它的文件结构是什么?

谢谢你的帮助。

2 个答案:

答案 0 :(得分:4)

当然有可能。

我参与了一个项目,我们有一个Zend + CodeIgniter。

以下是您需要做的事情:

1. 将Zend文件夹(库)复制粘贴到CodeIgniter库中,反之将CodeIgniter库复制到zend库文件夹中。

2. 如果在codeigniter中,请使用$this->load->library('Zend', '{anything here}')进行调用 或者在Zend中使用autoloader

你将遇到的问题(我面临的问题):

  1. 验证
  2. Zend使用Zend Auth Namespace,它使用$ _SESSION。虽然CI不使用$ _SESSION,但它有自己的内置系统。使用Zend和(假设您的整个应用程序仅在同一个域中)查看它为身份存储的内容,通过CI直接检查$ _SESSION并分配CI cookie。这是what happened with me and check the solution

    1. 安全和表单
    2. CI和Zend都有不同的表单库,不要在加载Zend Library的类中使用CI表单(在CI下),只需记住它作为一个拇指规则。因此,您需要制定实施策略,Zend on CI或CI on Zend。不要在CI表格中使用Zend的验证器(我知道没有人会这样做但是,一旦我做了,所以任何人都可以做到!不要这样做)。使用与将用于表单的库相同的安全库

      就个人而言,我的项目做得很好(经过大量研究后),它是:Zend上的CI,我必须使用Zend Auth。

      有问题吗? :)

答案 1 :(得分:3)

就组合框架而言,通常最好坚持一个框架的意识形态。否则,为什么要使用该框架?保存特定的功能。

就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”文件夹中,或在您的个人应用程序/库文件夹中。

然后,在任何Controller中使用loader类来加载你想要使用的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

http://codeigniter.com/user_guide/libraries/loader.html