Laravel Autoloading Kullanımı

Laravel Autoloading Kullanımı

Laravel framework’ü kullanılan projelerde dışarıdan herhangi bir kütüphane yada sizin kendinize ait sınıflarınızı her sayfa yüklendiğinde dahil olmasını istiyorsanız Laravel’in Autoloading özelliğini kullanmanız gerekmektedir. Laravel, her sayfa yüklendiğinde projeye dahil edeceği kütüphaneleri, sınıfları projenin kök dizininde bulunan composer.json dosyasından alır ve autoloading işlemini gerçekleştirir.

Burada bir yanlış anlaşılma olmasın composer yapısı gereği içerisinde autoloading metotu bulundurur ve her yeni kütüphane yada sınıf eklendiğinde bu composer‘ü güncellemeniz gerekmektedir. Bu güncelleme sonucunda dahil edilecek sınıflar yada eksik olan paketler projeye indirilir.

Örneğe gelecek olursak bir Araba adında kütüphanemiz olsun ve bu kütüphanemiz app/lib dizinin altında yer alsın. Ortaya şöyle bir hiyerarşi çıkması lazım:

Şimdi Araba kütüphanemizi oluşturalım. Araba dizinin altına ArabaInterface.php ve Araba.php adında iki php dosyası oluşturalım.

ArabaInterface.php:

Araba.php

Bu noktada dikkat edilmesi gerekilen nokta namespace‘dir. Kullanılan kütüphaneye ait namespace tanımlamaları yapılması gerekmektedir. Daha sonra kütüphanenin autoloading olması için composer’e tanıtmamız gerekiyor.

Composer.json:

Autoload altında yer alan Classmap objesine kütüphanemizin bulunduğu yolu ekliyoruz. Yani app/lib dizinini ekliyoruz. Böylece bu klasör altına gelen tüm kütüphaneler otomatik olarak autoloading edilecektir.

Son olarak kütüphanelerin güncellenmesi ve autoloading metotuna sınıfın tanıtılması isin projenin kök dizininde aşağıdaki kodu terminalde çalıştırmanız gerekmektedir.

Artık Araba adlı sınıfımızı başlatıp kullanabiliriz.