亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP商城 Composer 以及PSR規范

發布時間:2020-07-20 15:58:51 來源:網絡 閱讀:351 作者:德尚網絡 欄目:開發技術

Composer 依賴 在很多php商城系統中都有用到,如dsmall商城。隨著項目代碼量的不斷增加,以及一些庫的依賴,我們不得不引入包的管理,來解決不易管理、閱讀、模塊化等問題。 三方庫優秀,而且很多人在維護,功能對接也方便,我們沒有必要在這個一個常用的功能上花費時間來封裝或者造輪子, 很多人在自己的項目中都實踐過,出現了問題,反應的issue也很快會被解決掉,功能也不斷在完善。 一直強調,站在巨人的肩膀上,我們會走的更遠,也許我們自己擼出來的代碼難等大雅之堂,無法比擬, 把重心放在自己的核心產品和功能時間上,學會借鑒學習和使用,降低自己的開發成本。 也許有人會覺得我使用三方庫可能會造成性能上的影響,有些功能我根本用不到。項目中代碼有很多無用的代碼,導致文件加載過慢, 其實不用擔心,?opcache可以將php腳本預編譯到共享內存中來提升php的性能。
php Composer psr-4 autoload
Composer 是php用來管理依賴關系的工具,可以在項目中聲明外部依賴的工具庫,Composer會幫你安裝這些依賴的庫文件 psr-4 是一種代碼規范,能夠實現package的自動加載,規范了如何從文件路徑自動加載類,同時也規范了自動加載文件的位置
自動加載
我們在支持Composer的項目中,只需引入這個文件,加上下面這段php的代碼,就可以得到自動加載的支持了
<?php
require_once DIR . '/vendor/autoload.php';
復制代碼
composer.json
{
"autoload": {
"psr-4": {
"Work\": "src/"
},
"psr-0": {
"VendorNamespace": "src/"
}
}
}復制代碼
Composer 將注冊一個 PSR-4 autoloader 到 Work 命名空間, PSR-0 則支持_,自動轉化為目錄結構
classmap
不遵循PSR-0/4規范的類庫,
files
明確的指定文件加載
額外的
repositories 自定義資源包庫
type
?composer Composer 類型的資源庫,是一個簡單的網絡服務器上的
?vcs git、svn、hg等
?pear 從pear上獲取資源
?package 內聯一個composer.json對象
scripts
Composer 允許你在安裝過程中的各個階段掛接腳本。
詳細流程
典型的命令,composer安裝時
?post-install-cmd?composer install執行之后觸發
?post-update-cmd?composer update執行之后觸發
自定義腳本demo
{
"scripts": {
"post-update-cmd": "MyVendor\MyClass::postUpdate",
"post-package-install": [
"MyVendor\MyClass::postPackageInstall"
],
"post-install-cmd": [
"MyVendor\MyClass::warmCache",
"phpunit -c app/",
"find vendor -type d -name .git -exec rm -rf '{}' \;"
]
}
}復制代碼
<?php
namespace MyVendor;
use Composer\Script\Event;
class MyClass{
public static function postUpdate(Event $event)
{
$composer = $event->getComposer();
// do stuff
}

public static function postPackageInstall(Event $event)
{
    $installedPackage = $event->getOperation()->getPackage();
    // do stuff
}

public static function warmCache(Event $event)
{
    // make cache toasty
}

}復制代碼
不然看出執行的腳本可以是一個類中的靜態方法,當然也可以是一個函數,還可以是一條shell命令
我們也可以手動執行一些命令
composer run-script [--dev] [--no-dev] script

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

石泉县| 吉林市| 石阡县| 日照市| 枣庄市| 滁州市| 托里县| 三穗县| 巴林右旗| 黄大仙区| 黔江区| 山阴县| 柳州市| 兴城市| 广州市| 彭水| 新田县| 敦煌市| 东光县| 蚌埠市| 鹤壁市| 夹江县| 石阡县| 谢通门县| 汽车| 临夏市| 青海省| 昆明市| 永川市| 海宁市| 德化县| 西青区| 铜川市| 西峡县| 乌兰察布市| 新闻| 保靖县| 庄河市| 桂阳县| 通榆县| 七台河市|