Zend Framework 2的核心代码和项目代码放在一起是件好事吗


对于刚刚在php培训学校毕业只接触半年多的我来说至今玩过thinkphp CI Yii 以及ZF1发现它们的核心代码是和项目代码分离的,也就是说放在两个主目录下。甚至可以把核心代码放在根目录下来运行项目以提升安全机制!我想落落的问一句,ZF2的核心代码和项目代码放在一起是件好事吗?

说明:

thinkphp:使用include(路径)引入入口文件。

CI:下载的源码就是application和system分离的,以后都在application做开发。

Yii:命令行->yiic webapp (路径)(项目名称)随意将核心代码放哪,只要指定路径到服务器目录下就好了。

ZF1:命令行->zf create project (路径)(项目名称)和Yii一样

可是ZF2的核心代码是一定要放在ZendSkeletonApplication-master\vendor\ZF2目录下才可以正常运行(也就是项目目录下)。

已尝试php.ini下的include_path:(ZF2核心代码路径)来安装ZF2。 phpinfo()

但不起作用同样报错!

此提问源自 http://avnpc.com/pages/zend-framework-2-installation-for-windows 作为参考!

zf2 php zend-framework zend-framework2

我是一瓶酱 11 years ago

谢谢邀请,题主引用的教程是我写的,教程的目的是在最短的时间内搭建出环境,很多细节并没有提及,所以应该在运行出Hello world之后再详细的阅读一下ZF的官方文档及教程,才能获得更完整的信息。

ZendSkeletonApplication的项目首页 其实就已经对ZF2项目的安装方法进行了说明,ZF2项目推荐使用两种方式安装:

一、 使用Composer


 git clone git://github.com/zendframework/ZendSkeletonApplication.git
cd ZendSkeletonApplication
php composer.phar self-update
php composer.phar install

二、使用GIT

git clone git://github.com/zendframework/ZendSkeletonApplication.git --recursive

无论采用哪种方式安装,最终在项目中ZF2的核心代码是通过 GIT Submodule 被引用的,并不会和项目代码混杂在一起,因此你的ZF2项目的代码库中不会包含臃肿的ZF2核心代码,只有开发或生产环境运行安装时才会下载这些代码。

而关于安全性问题,最终Web服务器绑定的目录是 public ,而ZF2的项目文件和核心代码目录是在此文件夹之外的,因此用户访问时没有权限访问 public 以外的文件,也就不存在安全性问题。

东方非想天则 answered 11 years ago

Your Answer