本篇文章帶大家了解一下官方新項(xiàng)目 Laravel Pint,一個(gè)基于 PHP-CS-Fixer 專為 Laravel 優(yōu)化的編碼格式化工具,希望對(duì)大家有所幫助!
Laravel 9 保姆級(jí)視頻教程,想學(xué)不會(huì)都難!進(jìn)入學(xué)習(xí)
期待已久的炒作終于結(jié)束了,Laravel 最新的開源 CLI 應(yīng)用程序已經(jīng)發(fā)布到世界各地,我們已經(jīng)著手介紹它——Laravel Pint。
“Laravel pint 是一個(gè)零依賴的、構(gòu)建在 PHP-CS-Fixer 之上的 PHP 代碼風(fēng)格修復(fù)器,適用于極簡主義者?!?,以上是 readme 原文。
一讀到這里,我就興奮起來,我的意思是非常興奮。在現(xiàn)代 PHP 中,我們一直在磨練我們的工藝,使我們的代碼更嚴(yán)格和更好地測(cè)試,并確保我們擁有一致的代碼風(fēng)格。 這一切都始于 PHP-FIG 成立時(shí),他們開始發(fā)布 PSRs,并且隨著具有自己特定發(fā)布樣式規(guī)則的框架不斷發(fā)展壯大。這個(gè)包沒有什么不同,它將根據(jù)預(yù)設(shè)自動(dòng)測(cè)試和修復(fù)你的代碼風(fēng)格。
想要用這個(gè)包,請(qǐng)用 composer 安裝它:
composer require laravel/pint --dev
安裝后,無需配置即可運(yùn)行。你可以運(yùn)行以下命令:
./vendor/bin/pint
無需配置、無需設(shè)置、無需思考或努力 – 我的項(xiàng)目會(huì)立即針對(duì) PSR-12 樣式進(jìn)行評(píng)估并自動(dòng)修復(fù)。是不是很神奇?保持代碼干凈和一致有時(shí)需要耗費(fèi)一些精力或思考如何進(jìn)行此設(shè)置以及需要實(shí)現(xiàn)哪些規(guī)則?;蛘呤褂?PHP CS Fixer,你必須創(chuàng)建一個(gè)配置文件,然后創(chuàng)建一個(gè)查找器以將規(guī)則添加到 PHP 文件的數(shù)組中。事情很快變得一團(tuán)糟,對(duì)吧?
如果您在項(xiàng)目的根目錄中創(chuàng)建 pint.json 文件,它會(huì)簡單地加載并讀取配置,否則, 會(huì)加載并讀取默認(rèn)值。配置全部使用 JSON 的格式,使其更易于使用且更具可讀性。
讓我們快速瀏覽一下使用預(yù)設(shè)設(shè)置新的 pint 配置。但是讓我們看看用一個(gè)全新的 Laravel 項(xiàng)目來做這件事,所以創(chuàng)建一個(gè)新項(xiàng)目:
laravel new pint-demo
在終端中打開這個(gè)新項(xiàng)目并安裝 pint:
composer require laravel/pint --dev
使用我們?nèi)碌?Laravel 應(yīng)用程序,讓我們?yōu)?Laravel 配置一個(gè)預(yù)設(shè)。創(chuàng)建一個(gè) pint.json 文件并添加:
{ "preset": "laravel" }
現(xiàn)在運(yùn)行 pint:
./vendor/bin/pint
你應(yīng)該看到類似于以下的輸出:
蕪湖,起飛 ?
所以現(xiàn)在讓我們將預(yù)設(shè)更改為 PSR-12 并檢查輸出:
{ "preset": "psr12" }
重新運(yùn)行 pint,讓我們看看輸出:
./vendor/bin/pint
你應(yīng)該看到以下輸出:
讓我們檢查一下,發(fā)現(xiàn)它實(shí)施了single_trait_insert_per_statement
、braces
和new_with_braces
等規(guī)則。如果我們想稍微定制這些怎么辦? 很簡單,因?yàn)槲覀兛梢暂p易地定義和刪除規(guī)則,讓我們?cè)?pint.json 文件中關(guān)閉大括號(hào):
{ "preset": "psr12", "rules": { "braces": false } }
這就對(duì)了!自定義設(shè)置代碼樣式的方式很簡單。不再需要凌亂的 PHP 和數(shù)組來配置你的編碼風(fēng)格。所以讓我們重新運(yùn)行 pint,但這次我們想進(jìn)行一次試運(yùn)行,看看會(huì)發(fā)生什么變化:
./vendor/bin/pint —test
厲害吧?漂亮干凈的輸出,進(jìn)行試運(yùn)行,看看什么會(huì)失敗以及為什么!那么如果想要