iT邦幫忙

鐵人檔案

2018 iT 邦幫忙鐵人賽
回列表
自我挑戰組

重新理解 PHP:從頭打造 Web Framework 系列

PHP 是世界上最好的語言(戰)

Javascript、Python、Ruby on Rails 及 Golang,在眾多相對「現代」語言的夾殺下,PHP 顯得老態龍鍾。
弱型別的效能、歷史共業下的函式/類別命名、各式各樣安全風險等等等等,總為 PHP 工程師惹來無數的鄙視。

然而作為世界三大伺服器端(後端)程式語言,PHP 有著易學易寫的特性而廣受初學者歡迎,近年來更因為 Laravel PHP Framework 的出現及 PHP 7 的革新為 PHP 帶來新的黎明 \(|)/

在這次的挑戰中,我將以打造 PHP 全端框架為目標重新理解 PHP。

參賽天數 4 天 | 共 9 篇文章 | 19 人訂閱 訂閱系列文 RSS系列文
DAY 1

為何要從頭打造一個框架?

前言 「我想用 PHP 打造一個屬於自己的框架。」 聽到這句話,任何具有常識的程式設計師,都會白你兩眼,然後鄙視似地告訴你:「睏矇睏,嘜眠夢啊」(台語:睡就睡,...

2017-12-20 ‧ 由 芥龍 分享
DAY 2

規畫

前言 似乎開發者都很怕被人罵自己的設計不足 (under engineering)、彈性延展性太差、不夠強壯 (robust),不論是誰都可用、不論大雞小雞都...

2017-12-21 ‧ 由 芥龍 分享
DAY 3

準備工作

建立工作區 首先,要先在電腦的某處建立屬於自己的工作區。未來我們的工作都會在這邊進行。 mkdir rafax cd rafax 建立 composer 相關...

2017-12-22 ‧ 由 芥龍 分享
DAY 4

Hello World, Hello My Framework

前言 在昨天的主題中,我們創造了一個 Hello World ,老實說一成不變的網頁還真的有些乏味呢,對吧?今天我們就讓網頁加點變化。 Hello, my lo...

2017-12-23 ‧ 由 芥龍 分享
DAY 4

加入 Symfony HttpFoundation 元件

前言 當主題明確地定義「要打造一個 PHP 框架」時,基本上已經確立了我們的目標是圍繞著 HTTP 協定。當然,PHP 其實可以操作非 HTTP 協定的資料流,...

2017-12-25 ‧ 由 芥龍 分享
DAY 4

設計模式 - 前端控制器模式(Front Controller Pattern)

簡介 在傳統的 PHP 網頁程式中,我們可能會用許多的檔案來代表不同的邏輯與功能。舉例來說,用戶首先會進到 index.php,此時點選「註冊」會將用戶導向 r...

2017-12-26 ‧ 由 芥龍 分享
DAY 4

整合前端控制器模式

前言 Goodbye World 建立一個檔案名為 bye.php,會向我們輸出 Goodbye World。 // rafax/public/bye.php...

2017-12-27 ‧ 由 芥龍 分享
DAY 4

加入 Symfony Routing 路由元件

前言 在使用 Front Controller Pattern 後,漸漸的會發現到我們的應用程式似乎還不夠靈活。很多成熟的框架都有良好的 RESTful API...

2018-01-03 ‧ 由 芥龍 分享
DAY 4

控制器(Controller)的設計

前言 如果你有使用其它 PHP 框架的習慣,肯定會覺得我們的框架還少了點什麼。到目前為止,我們的框架還沒有很複雜的邏輯,如果未來有需要加入比較複雜的邏輯時,我們...

2018-01-04 ‧ 由 芥龍 分享