Flight 是一個簡單且靈活的 PHP 微框架,由 Mikael Lepist? 創(chuàng)建。該框架僅有一個文件,大小只有幾千行,非常適合那些想要快速構(gòu)建 Web 應(yīng)用程序的開發(fā)者。
通過使用簡單的路由定義,對于一個新手來說,一個處理 HTTP GET 請求獲取特定硬編碼資源的簡單應(yīng)用程序示例如下所示:
<?php require 'flight/Flight.php'; Flight::route('/', function(){ echo 'hello world!'; }); Flight::start(); ?>
Fight 操作非常簡單,良好的文檔清晰說明了其 API,從而為新手代碼編寫提供了很大的幫助。下面介紹幾個 Flight 的基本操作。
定義路由
Flight 的關(guān)鍵特性之一是能夠通過它來定義路由,并將對應(yīng)的代碼與請求進(jìn)行映射。
Flight::route('/hello', function(){ echo 'Hello World!'; });
在上面的代碼中,當(dāng)請求 URL 為`/hello` 時,F(xiàn)light 將調(diào)用匿名函數(shù) `function(){echo 'Hello World!'}`。
Flight 還可以接受某個特定 HTTP 方法的路由,例如 GET 或 POST:
Flight::route('GET /hello', function(){ echo 'Hello World!'; }); Flight::route('POST /login', function(){ echo 'Logging in....' });
注意:在上方代碼風(fēng)格中,路由模式(例如 GET 或 POST)可以位于路由的開頭或結(jié)尾,代碼仿佛一個簡短的句子,易于閱讀。
接收參數(shù)
編寫 Web 應(yīng)用程序時,路由通常使用 URL 參數(shù)從 Web 請求中接收值。
Flight::route('/hello/@name', function($name){ echo 'Hello, '. $name."!"; });
在上述代碼中,可以通過 URL 地址參數(shù)來進(jìn)行個性化問候。例如,當(dāng)請求地址為 `/hello/Bob` 時,F(xiàn)light 將響應(yīng) "Hello, Bob!"。
返回 JSON
Flight 使得將數(shù)據(jù)作為 JSON 返回非常簡單。
Flight::route('/api/data', function(){ $data= [ "id" =>1, "name" =>"John Doe", "email" =>"jdoe@example.com" ]; Flight::json($data); });
此代碼片段中, `/api/data` 路由返回 ID 為 1 的用戶的 JSON 數(shù)據(jù)。
到這里,你應(yīng)該已經(jīng)掌握了 Flight 的基礎(chǔ)知識,該框架易于使用,同時具有使你的 PHP 應(yīng)用程序?qū)崿F(xiàn)良好的 API 所需的所有功能。希望你能喜歡并開始構(gòu)建我們自己的 PHP 應(yīng)用程序。