對於剛剛在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.gitcd ZendSkeletonApplicationphp composer.phar self-updatephp 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或者別的路徑是沒區別的