Php 8 Routing
PHP 8'de routing, web uygulamalarında gelen istekleri doğru işlevlere veya sayfalara yönlendirmek için kullanılan bir mekanizmadır. Routing, kullanıcıların tarayıcılarına yazdıkları URL'lere göre hangi işlevlerin çalışacağını belirler. Aşağıda PHP 8 ile routing konusunu detaylı bir şekilde ele alacağız.
1. Routing Nedir?
Routing, HTTP isteklerini (GET, POST, PUT, DELETE vb.) belirli URL'lere eşleyerek, bu isteklere karşılık gelen kod parçalarını veya işlevleri çalıştıran bir süreçtir. Özellikle MVC (Model-View-Controller) yapılarında, routing, istemci isteklerinin uygun kontrolcülere yönlendirilmesini sağlar.
2. Basit PHP Routing Örneği
PHP'de basit bir routing mekanizması oluşturmak için URL'leri analiz edebilir ve buna göre belirli işlevleri çağırabiliriz. Aşağıda, basit bir routing yapısının nasıl oluşturulacağına dair bir örnek bulunmaktadır.
2.1. Proje Yapısı
my_app/ │ ├── index.php ├── routes.php └── controllers/ ├── HomeController.php └── AboutController.php
2.2. index.php
Ana giriş noktası olan index.php dosyasında routing işlemlerini yapacağız.
<?php require_once 'routes.php'; // URL'yi al $requestUri = $_SERVER['REQUEST_URI']; // Routing işlemini gerçekleştirme route($requestUri); ?> 2.3. routes.php
Routing işlemlerini gerçekleştireceğimiz dosya.
<?php function route( $uri ) { switch ($uri) { case '/': HomeController::index(); break; case '/about': AboutController::index(); break; default: http_response_code(404); echo "404 Not Found"; break; } } ?> 2.4. HomeController.php
HomeController sınıfı.
<?php class HomeController { public static function index( ) { echo "Anasayfa"; } } ?> 2.5. AboutController.php
AboutController sınıfı.
<?php class AboutController { public static function index( ) { echo "Hakkında Sayfası"; } } ?> 3. Routing Nasıl Çalışır?
-
URL'yi Alma:
$_SERVER['REQUEST_URI']kullanarak istemcinin tarayıcısında yazdığı URL'yi alıyoruz. -
Routing İşlemi:
route()fonksiyonu, alınan URL'ye göre uygun işlev veya sınıfı çağırır. Burada birswitchyapısı kullanarak, her URL'ye karşılık gelen kontrolcü işlevini belirliyoruz. -
Kontrolcü İşlevleri: Her kontrolcü, belirli bir sayfayı veya işlemi temsil eder. Örneğin,
HomeControlleranasayfayı,AboutControllerise hakkında sayfasını temsil eder. -
Hata Yönetimi: Eğer URL, tanımlı rotalara uymuyorsa, 404 hata kodu döndürülür ve kullanıcıya "404 Not Found" mesajı gösterilir.
4. Laravel'de Routing
Eğer Laravel kullanıyorsanız, routing işlemleri çok daha basit ve güçlü bir şekilde gerçekleştirilir. Laravel'de routing için routes/web.php dosyasında aşağıdaki gibi tanımlamalar yapabilirsiniz:
use IlluminateSupportFacadesRoute; Route::get('/', [HomeController::class, 'index']); Route::get('/about', [AboutController::class, 'index']); Bu yapı, Laravel'in yönlendirme sisteminin güçlü özelliklerinden yararlanmanızı sağlar. Laravel otomatik olarak HTTP isteklerini kontrol eder ve uygun kontrolcü işlevini çağırır.
Sonuç
PHP 8 ile routing, web uygulamalarının temel yapı taşlarından biridir. Basit bir routing sistemi kurarak, URL'leri dinleyip bunlara göre farklı işlevler çağırabiliriz. Daha karmaşık uygulamalarda, framework kullanmak (örneğin, Laravel) geliştirme sürecini hızlandırır ve daha temiz bir yapı sağlar.
Bu ders size yardımcı oldu mu? Puan verin!
Geri bildiriminiz içeriğimizi sürekli güncel ve kaliteli tutmamızı sağlar.
Sıkça Sorulan Sorular (SSS)
Bu ders ve konuyla ilgili en çok merak edilenler
Php 8 Routing dersini öğrenmek için ön koşul var mı?
Bu eğitim temel seviyeden ileri seviyeye adım adım hazırlanmıştır. Kodları kopyalayıp Canlı Editör üzerinde test ederek kolayca pratik yapabilirsiniz.
Örnek kodları kendi projelerimde ücretsiz kullanabilir miyim?
Evet, PHP Hocası üzerindeki tüm kod örnekleri açık kaynak mantığıyla sunulmaktadır. Ticari veya kişisel projelerinizde serbestçe kullanabilirsiniz.
Takıldığım bir yerde nereden soru sorabilirim?
Dersin altındaki topluluk yorumları bölümünden sorunuzu sorabilirsiniz. Eğitmenlerimiz ve topluluk üyelerimiz kısa sürede yanıt verecektir.
Topluluk Yorumları (0)
Ders Hakkında Yorum Yap veya Soru Sor
Henüz yorum yapılmamış. İlk yorumu siz yazın!