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。
但不起作用同样报错!
此提问源自 http://avnpc.com/pages/zend-framework-2-installation-for-windows 作为参考!
回复内容:
对于刚刚在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。
但不起作用同样报错!
此提问源自 http://avnpc.com/pages/zend-framework-2-installation-for-windows 作为参考!
谢谢邀请,题主引用的教程是我写的,教程的目的是在最短的时间内搭建出环境,很多细节并没有提及,所以应该在运行出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
以外的文件,也就不存在安全性问题。
你如果限制了http服务的权限在/public,框架库在/vendor或者别的路径是没区别的