當(dāng)fecshop代碼更新后可以通過(guò)composer更新
入口包部分,github地址為: https://github.com/fancyecommerce/yii2_fecshop_app_advanced 也就是安裝fecshop后,除了vendor以外的所有文件,都是入口包文件, 打開(kāi)根目錄下面的composer.json文件可以看到如下內(nèi)容:
"require": {
"php": ">=5.4.0",
"yiisoft/yii2": ">=2.0.6",
"yiisoft/yii2-bootstrap": "*",
"yiisoft/yii2-swiftmailer": "*",
"yiisoft/yii2-apidoc": "~2.0.0",
"fancyecommerce/fecshop": ">=1.1.2.9"
},
通過(guò)上面可以看到 fecshop 和 yii2 都是一個(gè)composer包,通過(guò)包依賴的方式 加載過(guò)來(lái)。
通過(guò)上面,我們了解了原理,yii2_fecshop_app_advanced 入口包是無(wú)法升級(jí)的, 因?yàn)楹芏嗟谋镜鼗渲枚荚诶锩?,升?jí)將導(dǎo)致全體被覆蓋。 幸運(yùn)的是,這個(gè)包作為入口部分,很少改動(dòng),可以在 https://github.com/fancyecommerce/yii2_fecshop_app_advanced/commits/master 查看各次提交對(duì)應(yīng)的修改,然后手動(dòng)復(fù)制到相應(yīng)文件即可。
打開(kāi)根目錄下面的composer.json配置文件, 找到下面的代碼
"require": {
"php": ">=5.4.0",
"yiisoft/yii2": ">=2.0.6",
"yiisoft/yii2-bootstrap": "*",
"yiisoft/yii2-swiftmailer": "*",
"yiisoft/yii2-apidoc": "~2.0.0",
"fancyecommerce/fecshop": ">=1.1.2.9"
},
更改相應(yīng)的版本號(hào),然后在根目錄下面執(zhí)行composer update
即可。
譬如我想升級(jí)fecshop,我訪問(wèn)
https://github.com/fancyecommerce/yii2_fecshop/releases,
查看最新的版本號(hào),和當(dāng)前文件的版本號(hào)是否一致,如果不一致,
將"fancyecommerce/fecshop": ">=1.1.2.9"
這行中的1.1.2.9
改成最新的
,當(dāng)然,yii2框架也是這個(gè)原理,修改下版本號(hào)。
然后在根目錄下面執(zhí)行composer update
即可完成升級(jí)。
開(kāi)發(fā)注意: vendor下面的文件不要做改動(dòng),如果修改功能,需要按照文檔的說(shuō)明 在二開(kāi)路徑進(jìn)行覆蓋重寫(xiě),如果您修改了vendor下面的內(nèi)容,那么,下次升級(jí)的時(shí)候, 將會(huì)把您改動(dòng)的內(nèi)容全部覆蓋掉,您寫(xiě)的代碼將全部清空。這個(gè)需要切記!
更多建議: