在這個早晨開始,我正式出生一個月囉。
躺在媽咪的懷抱等大家來看我。
Check it out yo, 布丁 in da house。
我馬麻是最棒的馬麻。
Check check check, DJ 布丁 in da house!
但其實我只是想 take a break。
多謝各位的紅包,但我先睡啦~
記錄一下自己幾乎每天都會用到的工具,這樣在轉移工作環境時安裝環境時也比較快速。
VIM 是我的謀生工具,撰寫程式全靠他。
一般文字的處理我會使用 notepad++,隨時記錄事情,notepad++ 有一個很方便的地方是他可以將你貼上的內容暫存,所以你電腦無預警重開的話資料都還在。
目前使用過最強大的資料庫管理 GUI 非 Navicat 莫屬,但他要錢,還不便宜,我很想買一套,不過真的太貴了。
非常強大且免費的免費軟體,我也使用他來連結 ptt,我也會同時安裝 Xftp 來存取 ssh 的檔案,lrzsz 沒有這個方便,不過他不是我的主力 FTP 軟體。
用過類似 TotalCommander 工具的人根本不太會想用 Windows 內建的檔案管理工具,FreeCommander 對我來說是各方面都不需要設定的簡單版 TotalCommander,幾乎是裝好不用改什麼就符合我的需求。
選擇這套軟體主要是因為安裝檔案小,開啟速度快,該有的編輯功能也都有。
這套軟體的有幾個功能使用上很方便,快速篩選檔案、同步流覽(他的同步流覽強在如果另一邊沒有相等的資料夾會問你要不要建立目錄,其他的 FTP 通常都是自動解除同步流覽)、自動偵測更新檔案上傳(這是我當初選用他的最大原因,不過感覺他對必須上傳檔案的判斷有些問題,希望越改越好)。
即便公司不是使用 Git 當作 repository base 也沒關係,因為他的 terminal 介面也很好用,用打的比用滑鼠點的快多了。
這套強大的遠端管理工具應該不用我多做介紹了。
以上的軟體絕大部分都可以在 File Hippo 找到,我也會順裝他的 Manager,保持我的軟體更新,上面幾個軟體都有一樣的特點,免費、輕快,大部分都有偵測自動更新,這樣的軟體最合我胃口了,用的喜歡的各位記得給原作者 donate 喔。
PHP 之前為人所詬病的地方就是沒有統一的撰寫風格以及結構,MVC 觀念興起後,PHP 也出了不少框架,在架構方面得到了很大的改善,但 coding style 還是存在很大的問題,假設 A 公司跟 B 公司都有自己的 convention,那還是沒有所謂的 standard 存在,所以有一個團體制定了一個標準 PHP-FIG,裡面有各種程式碼的撰寫規範,當然這是一種形式上的規範,你不照他那樣寫 PHP 也是會動,只是如果有在使用 github 套件,以及使用 MVC framework 的人,會發現知名熱門的框架幾乎都往這邊靠了,所以如果花點時間去看他的規範參考,之後你接觸其他人的東西速度會快很多。
今天要介紹的不是規範的內容,有慶去的可以去看 Apple 大的投影片,他已經把比較多重要的內容放上來了,今天我要介紹的是工具,PHP-CS-Fixer,這個工具是可以幫你整理現行的 php code,假設你公司已經有許多歷史包袱,但你很想把你看到的內容都整理成 psr-0
,psr-2
,只要執行這個工具就可以幫你完成,我們來寫一下超不符合規定的 code。
$name = 'Chan'; if($name !== '') echo "hi, my name is {$name}" . PHP_EOL; for($i = 1; $i <=10; $i++){ echo $i . PHP_EOL; } function test() { }
上面的程式碼有幾個不符合規定的項目:
if
的寫法不可以省略 {}
for(
應該要 for (
function
的 {}
要換行 安裝好了 PHP-CS-Fixer 之後,打開 terminal 並跑去我們剛檔案的位置,執行下面的指令:
php-cs-fixer.phar fix psr.php
$name = 'Chan'; if ($name !== '') { echo "hi, my name is {$name}".PHP_EOL; } for ($i = 1; $i <= 10; ++$i) { echo $i.PHP_EOL; } function test() { }
php-cs-fixer
預設值是跑 symphony
的結構,會改變一些東西,如 空格.空格
會變成 .
, for ($i = 1; $i <= 10; $i++)
會變成 for ($i = 1; $i <= 10; ++$i)
,但完全不會影響現行程式的運行,或許你會不喜歡,那可以加上參數 --level=psr2
,這樣的結果就會做出只針對 psr2
的修正。
php-cs-fixer.phar fix psr.php --level=psr2
$name = 'Chan'; if ($name !== '') { echo "hi, my name is {$name}" . PHP_EOL; } for ($i = 1; $i <=10; $i++) { echo $i . PHP_EOL; } function test() { }
不過你可以看到 psr-2
並沒有幫你把 $i <=10
變成 $i <= 10
的格式,所以可以憑自己喜好選擇,而 vim 有 vim-php-cs-fixer 可以直接支援在 vim 裡面直接使用 php-cs-fixer
,安裝以後執行 <leader>pcf
表示修正目前檔案,<leader>pcd
則是修正目前檔案所屬資料夾下所有的檔案,相當方便。