Refactoring Name Provider
前面 25 天,我們已經成功寫出了一個 CLI App 以及 Web App,包括交付與部署都有實作,這次鐵人賽主題的基本要求已經算達標了。
前面 25 天,我們已經成功寫出了一個 CLI App 以及 Web App,包括交付與部署都有實作,這次鐵人賽主題的基本要求已經算達標了。
做完交付後,下一個目標就是要做部署了!不過部署做簡單一點,在 Docker 上能跑就行了!
昨天了解 Formatter 的運作方法了,而資料夾還有另一個角色 Processor,今天來看看它到底裡面賣的是什麼藥。
Processor 有兩個地方可以使用,分別在 Logger 實作與 HandlerInterface 定義,都有 Processor 的影子。
先來看看 Logger 實作的介面:
雖然程式碼風格跟設計沒有關係,但是程式碼風格不一致,對理解程式是一個很大的阻礙。調整程式碼風格,是不會影響功能的,因此很適合拿來當重構的暖身。
截至目前為止,應用程式該有基本功能都已經完備了,再來就是最後一哩路了--交付。
打開 Monolog 的資料夾,會發現除了昨天提到的 Logger 與 Handler 之外,還有幾個沒提到的角色,如 Formatter 或是 Processor。
今天我們就來看看 Formatter 裡面做了什麼事。
首先當然先看看它如何使用!我們可以從先從 Handler\HandlerInterface 找到相關的實作:
在拿到程式碼的時候,我們並不是立刻把程式碼砍掉重練,而是先做一連串的準備工作:
因為參加的是 Modern Web 主題,不管怎樣,還是跟 Web 掛勾一下好了。