鍍金池/ 問(wèn)答/PHP  網(wǎng)絡(luò)安全/ skeleton-application中如何修改phpunit和zend的版本

skeleton-application中如何修改phpunit和zend的版本?

目前是按照英文教程學(xué)的zf3,教程里面用的phpunit的代碼是5.7以下版本的,而按照官網(wǎng)的教程安裝的phpunit是6.x版本的,所以就有了想要降級(jí)phpunit的想法。
話又說(shuō)回來(lái),不知道zf3是否普及?估計(jì)還是zf2用的多一些吧?所以我就又看了一下zf2的教程,發(fā)現(xiàn)和zf3的教程幾乎沒(méi)差,所以就很好奇,skeleton-application是怎么在composer install時(shí)區(qū)分zf2和zf3的?(或者如何修改zend版本的?)

回答
編輯回答
舊時(shí)光

skeleton-application 下有composer.json 文件,里面配置著各個(gè)依賴的版本,zf3里的是這樣

{
...
  "require": {
    "zendframework/zend-mvc" : "^3.0"  // 這里改 ^2.0就是 zf2 
  },
  "require-dev":{
    "phpunit/phpunit":"^6.0"
  }
...
}

ZF2對(duì)比ZF3

  1. 在寫(xiě) Controller移除了 $this->getServiceLocator() 方法,官方推薦用構(gòu)造函數(shù)傳參的方式,通過(guò)依賴注入傳入。
  2. zend-servicemanager, zend-eventmanager 組件v3版本,結(jié)構(gòu)性能優(yōu)化。
  3. 按需加載依賴,skeleton-application 的composer.json 配置對(duì)比zf3少了好多,并且 db, cache 之類的官方?jīng)]默認(rèn)引入,你需要的時(shí)候自行用composer添加依賴。sf3 更新sf4也向"按需加載"這一點(diǎn)發(fā)展.
  4. 由于依賴也減少好多,耦合性也降低了,ZF3性能比zf2好些。

總體建議學(xué)習(xí)ZF3 即 zendframework/zend-mvc:^3.0, 或者推出的微框架zendframework/zend-expressive:^3.0 學(xué)習(xí)曲線跟低寫(xiě)。

2017年5月14日 14:49