Mahmut Bayrı

Laravel: İstek Yaşam Döngüsü

Giriş

Gerçek hayatta kullandığınız tüm araçlar nasıl çalıştığını anladığınızda sizi daha rahat hissettirir. Uygulama geliştime de bundan farklı değildir. Uygulama geliştirme araçlarının işlevlerini anladığınızda rahat rahat olursunuz ve onları güvenle kullanırsınız.

Bu dökümanın amacı size Laravel framewörkün çalışması hakkında genel bilgi vermektir.

Tüm kavramları anlamıyorsanız cesaretinizi kaybetmeyin. Yalnızca neler olduğunu kavramaya çalışın, dökümanın diğer kısımlarını incelerken bilginiz artacak.

Yaşam Döngüsü Genel Bakış

En Başından

Tüm isteklerin Laravel uygulamasına ilk girişi public/index.php dosyasıdır. Web sunucunuz (Apache/Nginx) ayarları tarafından tüm istekler bu dosyaya yönlendirilmiştir. index.php pek fazla kod içermez. Frameworkün yüklenmesi için oldukça basit bir başlangıç noktasıdır.

index.php Composer‘ın ürettiği otomaik yükleme bilgilerini yükler, ve bootstrap/app.php kodundan Laravel uygulamasının örneğini alır. Laravel’in kendisi hatafından alınan ilk haret uygulama / servis taşıyıcının örneğinin oluşturulması içindir.

HTTP / Konsol Çekirdeği

Sonraki işlem isteğin geldiği tipe bağlı olarak, isteğin HTTP çekirdeği veya konsol çekilrdeğine gönderilmesidir. Bu iki çekirdek istek akışını sunan bir merkez konumdadır. Şimdilik app/Http/Kernel.php konumundaki HTTP çekirdeğine odaklanalım.

HTTP çekirdeği Illuminate\Foundation\Http\Kernel sınıfından genişletilir.

HTTP çekirdeği, uygulama harafından işlenenenmeden önce tüm isteklerin geçtiği HTTP ara katmanının (HTTP middleware) bir listesini tanımlar. Bu katmanlar; HTTP oturumuna okuyup yazar, uygulamanın bakım modunda olup olmadığını belirler, CSRF kodunu doğrular ve daha fazlası.

Servis Sağlayıcıları

Çekirdek bağlangıç işlemlerinden en önemlisi uygulamanıza servis sağlayıcıların yüklenmesidir. Uygulama için bütün servis sağlayıcıları config/app.php dosyası içindeki providers dizisinde ayarlanır. İlk olarak tüm sağlayıcılardaki code>register metodu çağrılır, sonra tümü kaydedilir, boot metodu çağrılır.

Servis sağlayıcıları database, kuyruk, doğrulama, yönlendirici gibi çeşitli framewörk bileşenlerinin tümünün başlatılmasından sorumludur.

Servis Sağlayıcılara Odaklanma

Servis sağlacıları Laravel uygulamasının hazırlanmasındaki en önemli unsurdur. Uygulamanın örneği oluşturulur, servis sağlayıcıları kaydedilir ve hazırlanmış uygulamaya istek işlenir. Gerçekten çok basitir!