這個主題很標題黨,下一個看起來非常厲害的標題「PHP 大師之路 - 開放源碼的淬練」不是我很厲害 ^^||,而是顧名思義,鼓勵大家藉由開放自己的原始碼作品,希望自己的作品更棒,而不斷地精進技術、強化自己的信念和學習慾望,往真正的「PHP 大師之路」前進。
第一天,內容沒有任何程式碼,我想簡單介紹一下在這三十天內想介紹給大家的內容,也和大家分享,一個觀念:你不止是一個程式設計師,自從你把自己的程式公開上網,開放原始碼供大家使用,那就已經是一個作品,是一種藝術,你就是藝術家。(即使你寫完後,只有自己覺得很棒 ^^",我也常常這樣 XD)
作品,想讓作品〝看起來〞變得更好,會培養出一種動力,讓你會想參考高手的寫法、翻閱書籍、不斷根據使用者的回饋而加強功能、改善寫法。不知不覺,不是〝看起來〞,而是〝真的會〞變得更好。
再者,作品對職涯只有好處,完全沒有壞處。未來同事可以先行審查,減少彼此的資訊落差。求職者總是多準備一點,對比其它沒準備的求職者多了一些機會。你對程式設計的熱情能有機會找到未來的創業伙伴也說不定。
IT 產業更新訊息、新知識的速度很快,假如沒有培養出對寫程式的興趣的熱情。坐在辦公室寫程式充其量不過是一份工作而已。對我來說寫程式就是一件好玩的事情,所謂的工作,就是一件好玩的事順便賺錢,真是一舉兩得呀。我希望你也能從中培養出興趣,讓人生更快樂。
作品主題
1. 自己要有愛
一開始你可能沒想到要發表什麼主題的作品。
以我個人經驗來說,我發表的作品一定要有〝愛〞,就是自己要用的,只不過是當做好後,很想大叫「我做了個好東西沒人知道怎行?」於是不甘寂寞地把它放上 GitHub。
例如 Githuber MD,就是找不到在 WordPress 上可以好好寫 Markdown 格式文章的編輯器,於是自己寫了一個。一開始是很陽春,根據使用者的正面的好評回饋及特色請求,功能才越加越多。
2. 市面上沒有
當你到處 Google 資料找不到解決之道時,只好自己解決,這時候你可以寫的更模組化一點,然後把它開源,幫助未來也有需要的人。真的會有人從 Google 找到你的作品幫你按星星。
3. 其它動機
不管是什麼,或者你還沒信心寫出好東西,怕啥。放上 GitHub 就對了。一回生二回熟,總要有個起頭。
文章目錄
暖身
- 前言
- PHP 各版本差異
說了一堆勉強度過第一天的客套話,接下來會介紹 PHP 各版本的差異。因為如果你想讓作品可以向下相容讓更多人使用,有些語法是否能在某些版本運作,不得不去注意。
設計模式
- 單例
- 註冊表
- 工廠
- 觀察者
- 依賴注入
叫的出名字的設計模式居然有三十多種呀。在這邊介紹最常見的設計模式(其實是其它的我不熟 ^^",開玩笑的)
PSR 規範
- PSR-1, 2, 12 程式碼風格
- PSR-4 自動載入器
- PSR-7 HTTP Message
- PSR-15 Middleware
- PSR-17 HTTP Factory
PSR 已經是現代先進框架 (Modern framework) 的共同標準了,瞭解了這些等於同時懂了好幾套框架對於 HTTP 的處理方法,例如 Laravel、Zend、Slim 等等。差別在有些框架會加料,但基本方法都通用。
開發 Composer 套件
- Composer 設定檔
- 相容性指南
- 發佈到 Packagist
開始我們的重頭戲了,在這一章開始,我會設計一個套件,從放上 GitHub 到可以從 Composer 下載,一步一步實作。
開發 WordPress 外掛
- 建立 WordPress 外掛
- WordPress 程式碼風格
- WordPress 事件處理機制 Hook
- 提交 WordPress 外掛
WordPress 是市佔率最高的網站軟體,直至 2019 年高達 37% 的網站使用。自成一個完整的生態鏈。如果你有好的點子可以從 WordPress 外掛收費,那麼商機無限。但凡事總要起個頭。我來帶你發佈第一個 WordPress 外掛。
程式碼品質
- 程式碼風格
- 單元測試
- CI 測試
- 靜態分析工具
非常重要,非常重要,非常重要。因為很重要所以要說三次。
留言