- Katılım
- 12 Nis 2019
- Konular
- 172
- Mesajlar
- 990
- Çözüm
- 16
- Online süresi
- 1mo 24d
- Reaksiyon Skoru
- 1,035
- Altın Konu
- 18
- Başarım Puanı
- 226
- Yaş
- 30
- MmoLira
- 10,349
- DevLira
- 18
ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!
API Uç Noktaları Oluşturma
API Uç Noktaları, istemcilerin RESTful API'nizle etkileşim kurmak için kullanabileceği URL'lerdir. PHP 8'de, Symfony, Laravel gibi framework'leri kullanarak veya rotaları manuel olarak tanımlayarak API uç noktaları oluşturabilirsiniz. Düz PHP kullanarak basit bir API uç noktası tanımlamaörneği aşağıdadır:
Kod:
// index.php
if ($_SERVER['REQUEST_METHOD'] === 'GET' && isset($_GET['resource'])) {
$resource = $_GET['resource'];
if ($resource === 'items') {
// Öğe listesini döndür
$items = ['item1', 'item2', 'item3'];
echo json_encode($items);
} elseif ($resource === 'users') {
// Kullanıcı listesini döndür
$users = ['user1', 'user2', 'user3'];
echo json_encode($users);
} else {
// Geçersiz kaynak
http_response_code(404);
echo json_encode(['error' => 'Kaynak bulunamadı']);
}
} else {
// Geçersiz istek
http_response_code(400);
echo json_encode(['error' => 'Geçersiz istek']);
}
Bu örnekte, API'nin /index.php?resource=items ve /index.php?resource=users olmak üzere iki uç noktası vardır. Bir istemci bu uç noktalardan birine GET isteği yaptığında, API JSON verisi döndürür.
HTTP Metotlarını Ele Alma
RESTful API'ler, kaynaklar üzerinde eylemler gerçekleştirmek için HTTP metotlarını (GET, POST, PUT, DELETE vb.) kullanır. PHP 8, bu metotları $_SERVER['REQUEST_METHOD'] değişkenini kullanarak ele almanıza olanak tanır. Yeni bir kaynak oluşturmak için bir POST isteğini ele almaörneği aşağıdadır:
Kod:
// Yeni bir öğe oluşturma (POST isteği)
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$data = json_decode(file_get_contents('php://input'), true);
// Yeni öğeyi doğrula ve oluştur
// ...
// Oluşturulan öğeyi döndür
echo json_encode(['message' => 'Öğe başarıyla oluşturuldu']);
}
RESTful Yönlendirme (Routing)
Yönlendirme, RESTful API geliştirmenin temel bir yönüdür. URL'leri belirli eylemlere veya kaynaklara eşler. Laravel ve Symfony gibi framework'ler, rotaları ve kontrolcüleri tanımlamayı kolaylaştıran yönlendirme sistemleri sağlar. Laravel kullanarakbasit bir örnek:
Kod:
// routes/api.php
use Illuminate\Support\Facades\Route;
Route::get('/items', 'ItemController@index');
Route::post('/items', 'ItemController@store');
Route::get('/items/{id}', 'ItemController@show');
Route::put('/items/{id}', 'ItemController@update');
Route::delete('/items/{id}', 'ItemController@destroy');
Bu örnekte, öğeler üzerindeki CRUD (Oluşturma, Okuma, Güncelleme, Silme) işlemleri için rotaları tanımlıyoruz. Rotalar, karşılık gelen eylemleri ele alan kontrolcü metotlarına eşlenir.
Kimlik Doğrulama ve Yetkilendirme
RESTful API'lerin güvenliğini sağlamak esastır. Belirli kaynaklara veya eylemlere erişimi kısıtlamak için kimlik doğrulama (authentication) ve yetkilendirme (authorization) mekanizmalarını uygulayabilirsiniz. Yaygın yöntemler arasında API belirteçleri, OAuth ve JWT (JSON Web Tokens) bulunur.
Kod:
// Laravel'de JWT kullanarak kimlik doğrulama
if (!auth()->check()) {
return response()->json(['error' => 'Yetkilendirilmemiş'], 401);
}
// Belirli bir kaynağa erişimi yetkilendirme
if (!$user->can('update', $item)) {
return response()->json(['error' => 'Erişim reddedildi'], 403);
}
Versiyonlama ve Dokümantasyon
API'niz geliştikçe, geriye dönük uyumluluğu korumak önemlidir. Bir yaklaşım, API'nizi URL'ye sürüm numarasını dahil ederek versiyonlamaktır (örneğin, /v1/items). Ek olarak, Swagger veya API Blueprint gibi araçları kullanarak net API dokümantasyonu sağlamak, geliştiricilerin API'nizi etkili bir şekilde nasıl kullanacaklarını anlamalarına yardımcı olur.Sonuç olarak, PHP 8, RESTful API'ler geliştirmek için sağlam yetenekler sunar. İster Laravel gibi bir framework kullanmayı, ister kendi özel API'nizi oluşturmayı seçin, uygulamalarınız ve istemcileriniz için güvenilir ve iyi belgelenmiş bir API oluşturmak amacıyla REST ilkelerini takip etmek, HTTP metotlarını ele almak, API'nizin güvenliğini sağlamak ve versiyonlama ile dokümantasyon sağlamak önemlidir.






