Recent Posts

SOLID 原則 - Single Resposibility Principle(SRP單一職責原則)

less than 1 minute read

SOLID原則代表物件導向中的五種不同的開發原則,從這些原則中才衍伸出不同的Design Pattern,而Design Pattern的實踐,大多都是為了不違反SOLID原則,所以謹記SOLID原則可以讓程式碼在維護上會更有彈性。SOLID原則共包括:

常見變數命名規則(Naming convention)

less than 1 minute read

如何命名一個function/Variable是公認寫程式時最困難/最花時間的項目之一,這次介紹四個命名規則:Camel Case, Pascal Case, Snake Case, Kebab Case;以下會介紹這幾個規則的命名方式,及常用場景。匈牙利命名法因為太特殊了,筆者沒在用,如果有興趣的可以詳閱。

max_input_vars 錯誤導致資料傳輸異常

less than 1 minute read

Input variables exceeded 1000的錯誤是因為在php.ini內max_input_vars預設值為1000,當數量超過1000時php會拋出E_WARNING,E_WARNING的錯誤訊息並不會造成中斷(halted),但是會導致數據在傳輸超過1000之外的變數為null,所以可能會間接...

淺談Linux 的find 指令之exec應用

less than 1 minute read

find 是很常用的Linux  指令,但是我們在查詢之餘並不會僅是看看而已,有時候會包含一些操作及簡單的排序功能。這時候就需要用到exec這個指令。

從PHPUnit測試失敗了解Static

less than 1 minute read

PHP的web 請求往往是獨立(isolation)運行的,但是PHPUnit卻不是。一般情況下,你可以假設每個請求都會重新加載所有的類,但是PHPUnit卻是於同一個內存空間中運行所有測試,意味著static變數於測試的運行中持續存在。這種測試間的依賴關係將會導致測試單獨通過但是於套件中失敗的情況發生,是測試員...

在Laravel 5.4 內活用 Handler & Exception處理錯誤頁面(淺談)

1 minute read

Laravel 在預設上已經幫我們把Exception處理的很好了,相關的內容可以參考官方文件,這邊會先假設文章已經稍微看過,不針對裡面內容做細數。從相關文件我們可以知道,例外的處理一律都是在App\Exceptions\Handler這隻檔案。對Exception來說,處理錯誤頁面的部份在render這個方法實...

淺談在LARAVEL 內用MOCKERY寫測試

1 minute read

一般在寫測試時,無論是Unit test 或是Integration test,都會很頻繁的用到Mock的功能,尤其是當測試的案例涉及到第三方單位的API時,應該不會有人希望真的打API過去測試才對(如果是簡訊的話真的會扣錢QQ)…。Mockery的功用要是在於可以『模仿/代替』你要執行的程式碼。舉例來說,假設要...

利用Jquery的on 及off 開關套件Bootstrap-toggle

less than 1 minute read

相信大家都用過很多以Boostrap為基礎的Plugin,而Bootstrap又相依到Jquery這個Javascript的Library, 所以很多Plugin都是以Jquery驅動的,如這次要提到的例子Bootstrap-toggle,或是可參照Bootstrap Library。

淺談Laravel 的 ViewComposer應用

1 minute read

在Laravel內的ViewComposer可以用來處理不同畫面內用到相同參數的情況。舉例來說,現在有一個購物網站,網站內的某個店家可能會有許多頁面需要重複用到店家的基本資料,像是[關於我], [店家商品], [店家聯絡資料], [店家…], 一般我們會對每一個頁面(Controller)傳送固定的資料。舉例如下