PHP
Proje: REST API
5 derslik REST API projesine genel bakış: JSON, PDO ve routing ile görev API'si.
Proje: REST API
Bu beş derslik projede bir REST API yapacaksın. Her derste bir parça ekleyecek, son derste çalışan bir görev API'sini tamamlayacaksın.
Önceki gruplardan PDO sorgularını, sınıf tasarımını ve süper globalleri kullanacaksın. Proje boyunca bir Router sınıfı tasarlayacaksın: gelen isteği yöntem ve yola göre doğru işleyiciye yönlendiren bir yapı. Ardından addRoute, dispatch yöntemlerini ve JsonResponse adlı yanıt sınıfını ekleyeceksin.
Proje yol haritası
Proje beş dersten oluşuyor. İkinci derste addRoute ile rota kaydedeceksin; $_SERVER['REQUEST_METHOD'] ve $_SERVER['PATH_INFO'] ile gelen isteği okuyacaksın. Üçüncü derste dispatch yöntemiyle eşleşen rotayı bulup işleyiciyi çağıracaksın.
Dördüncü derste JsonResponse sınıfı ile durum kodu, başlık ve yapısal veri yanıtını birlikte göndereceksin. Son derste handleGet, handlePost, handlePut ve handleDelete işleyicilerini yazıp tüm parçaları birleştireceksin.
Uygulama Router sınıfını tanımla
Bu projenin ilk parçasını yaz. Router adında bir sınıf tanımla. İçine public array $routes = []; property'sini ekle. Sonra $router = new Router(); ile örnek oluştur ve echo count($router->routes); ile rota sayısını yazdır.
Örnek çözümü göster
class Router { ... } ile sınıfı tanımla. İçine public array $routes = []; ekle. Sonra $router = new Router(); ile örnek oluştur ve echo count($router->routes); ile yazdır.
Örnek çözüm:
<?php
// REST API projesi için Router iskeleti
class Router {
public array $routes = [];
}
$router = new Router();
echo count($router->routes);
Kendini test et
-
Router sınıfı bu projede ne işe yarar?
- Gelen isteği yöntem ve yola göre doğru işleyiciye yönlendirir
- Veritabanına doğrudan bağlanır ve tablo oluşturur
- HTML formu üretir ve tarayıcıya gönderir
- Oturum ve çerez yönetimini üstlenir
Cevabı göster
Gelen isteği yöntem ve yola göre doğru işleyiciye yönlendirir — Doğru. Router yöntem ve yola bakarak eşleşen işleyiciyi çağırır; böylece istekler tek bir yerden dağıtılır.
-
Sınıf adını tamamla
class ____ {
public array $routes = [];
}
Cevabı göster
class Router {
public array $routes = [];
}
-
Proje kavramlarını eşleştir
- Router
- İstekleri yönlendirir
- addRoute
- Rota ekler
- dispatch
- Eşleşen rotayı çağırır
- JsonResponse
- Yapısal veri yanıtı
Sıradaki ders: Routing yapısı