Php 8 Routing

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?

  1. URL'yi Alma: $_SERVER['REQUEST_URI'] kullanarak istemcinin tarayıcısında yazdığı URL'yi alıyoruz.

  2. Routing İşlemi: route() fonksiyonu, alınan URL'ye göre uygun işlev veya sınıfı çağırır. Burada bir switch yapısı kullanarak, her URL'ye karşılık gelen kontrolcü işlevini belirliyoruz.

  3. Kontrolcü İşlevleri: Her kontrolcü, belirli bir sayfayı veya işlemi temsil eder. Örneğin, HomeController anasayfayı, AboutController ise hakkında sayfasını temsil eder.

  4. 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.



Yorum Ekle

Üzerine gel