【问题标题】:How to combine zend framework and Codeigniter?如何结合zend框架和Codeigniter?
【发布时间】:2012-09-04 01:57:17
【问题描述】:

zend框架和Codeigniter如何结合?

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

感谢您的帮助。

【问题讨论】:

  • 解释你所说的“组合”是什么意思。你想达到什么目的?为什么?
  • 我想在一个应用程序中运行这两个框架

标签: php codeigniter zend-framework


【解决方案1】:

当然可以。

我参与过一个项目,我们同时使用 Zend + CodeIgniter。

这是你需要做的:

1. 将您的 Zend 文件夹(库)复制粘贴到 CodeIgniter 的库中,或者将 CodeIgniter 库复制到 zend 库文件夹中。

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

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

  1. 身份验证

Zend 使用 Zend Auth 命名空间,它使用 $_SESSION 。而 CI 不使用 $_SESSION 而是有它自己的内置系统。使用 Zend 并(假设您的整个应用程序仅在同一域上)查看它存储的身份信息,直接通过 CI 检查 $_SESSION 并分配 CI cookie。这里是what happened with me and check the solution

  1. 安全性和表单

CI 和 Zend 都有不同的 Forms 库,不要在加载 Zend Library 的类中(在 CI 下)使用 CI 的 Form,只需记住这一点作为经验法则。因此,您需要制定策略来实现它,Zend on CI 或 CI on Zend。不要在 CI 表单中使用 Zend 的验证器(我知道没有人会这样做,但是一旦我这样做了,任何人都可以这样做!不要这样做)。使用与表单相同的安全库

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

问题? :)

【讨论】:

  • 更新:CodeIgniter 3 将允许开发者使用 $_SESSION 变量
【解决方案2】:

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

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

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

【讨论】:

  • 我正在尝试将 Zend 包含到 CI 中,但我收到“遇到错误,不存在的类:mailmerge”。在这一行的某处 $this->load->library('Zend/Service/Livedocx/MailMerge'); php.ini 中的包含路径是否与此有关?这真是让我脑筋急转弯。
猜你喜欢
  • 2012-08-04
  • 1970-01-01
  • 1970-01-01
  • 2011-05-19
  • 1970-01-01
  • 2011-07-08
  • 1970-01-01
  • 1970-01-01
  • 2012-03-02
相关资源
最近更新 更多