- Konu sahibi
- #1
PHP Laravel nedir?
Laravel, PHP ile web uygulamaları ve API’ler geliştirmek için kullanılan açık kaynaklı bir web framework’üdür. PHP dilinin yerine geçmez; PHP kodunu düzenli bir uygulama yapısı içinde yazmak için yönlendirme, veritabanı erişimi, oturum yönetimi, doğrulama, şablon oluşturma ve komut satırı araçları gibi hazır bileşenler sunar.
Laravel ile blog, yönetim paneli, üyelik sistemi, e-ticaret altyapısı veya mobil uygulamaların kullanacağı bir API geliştirilebilir. Laravel bir CMS değildir; WordPress gibi hazır içerik yönetim sistemi kurmaz. Uygulamanın iş kuralları ve veri modeli geliştirici tarafından oluşturulur.
Laravel nasıl çalışır?
Bir kullanıcı uygulamaya istek gönderdiğinde Laravel bu isteği tanımlı bir rotaya yönlendirir. Rota doğrudan yanıt verebilir veya isteği bir controller sınıfına aktarabilir. Controller gerekli işlemi yapar, model veya Eloquent ORM aracılığıyla veritabanına erişir ve sonunda bir HTML görünümü, JSON yanıtı ya da yönlendirme döndürür.
Laravel’in sık kullanılan parçaları şunlardır:
- Routes: URL’leri controller veya işlem kodlarıyla eşleştirir.
- Controllers: İstekleri karşılayan ve uygulama akışını yöneten sınıflardır.
- Eloquent: Veritabanı tablolarıyla PHP modelleri üzerinden çalışmayı sağlar.
- Blade: Dinamik HTML sayfaları hazırlamak için kullanılan şablon sistemidir.
- Migration: Veritabanı tablolarının yapısını kodla tanımlamaya ve değiştirmeye yarar.
- Middleware: İstek ve yanıt akışında kimlik doğrulama gibi ara kontrolleri uygular.
- Artisan: Migration çalıştırma, kod üretme ve yerel geliştirme sunucusunu başlatma gibi uygulama görevlerinde kullanılan komut satırı aracıdır.
Plain PHP ile de aynı uygulamalar yazılabilir; Laravel, tekrar eden altyapı işlerini ortak bir yapı içinde toplamayı amaçlar.
Somut örnek: Basit bir Laravel projesi
Varsayalım ki yalnızca “Merhaba” yanıtı veren bir uygulama oluşturmak istiyorsunuz. PHP ve Composer kurulu bir geliştirme ortamında temel proje şu şekilde hazırlanır:
- Komut satırında
composer create-project laravel/laravel ornek-uygulamakomutunu çalıştırın. Komut tamamlanamıyorsa önce Composer’ın çalıştığını ve PHP’nin seçilen Laravel sürümüyle uyumlu olduğunu kontrol edin. - Proje klasörüne geçin:
cd ornek-uygulama. - Geliştirme sunucusunu başlatın:
php artisan serve. Başarılı durumda Artisan, yerel geliştirme sunucusunun başlatıldığını bildirir. Komut bulunamıyorsa terminalin proje klasöründe olduğunuzu ve bağımlılıkların kurulduğunu kontrol edin. -
routes/web.phpdosyasında Route facade içe aktarımının bulunduğunu kontrol edip aşağıdaki rotayı ekleyin.use Illuminate\Support\Facades\Route;satırı zaten varsa ikinci kez eklemeyin:
Kod:
Route::get('/merhaba', function () {
return 'Merhaba Laravel';
});
Geliştirme sunucusunun gösterdiği yerel adreste
/merhaba yolunu açtığınızda “Merhaba Laravel” yanıtını görürsünüz. Bu örnek, tarayıcı isteğinin rota üzerinden Laravel koduna ulaşıp metin yanıtına dönüştüğünü gösterir. Gerçek uygulamada bu kodu büyütmek yerine iş mantığını controller’a, veriyi modele ve HTML’i Blade görünümüne taşımak daha sağlıklıdır.Ne zaman Laravel tercih edilmeli?
Karar verirken uygulamanın boyutunu ve ihtiyaç duyduğu altyapıyı değerlendirin:
| İhtiyaç | Uygun yaklaşım | Neden |
|---|---|---|
| Tek dosyalık küçük işlem | Plain PHP yeterli olabilir | Framework kurulumu gereksiz yük oluşturabilir |
| Üyelik, yönetim paneli ve veritabanı | Laravel uygun bir adaydır | Rota, doğrulama, ORM ve middleware yapıları birlikte kullanılabilir |
| Mobil veya harici istemci için API | Laravel ile API tasarlanabilir | İstek, doğrulama ve JSON yanıt akışı düzenlenebilir |
Laravel seçildiğinde proje yapısını baştan düzenli kurun. Controller’ları aşırı büyütmeyin, doğrulama kurallarını istek akışının uygun bölümünde uygulayın ve veritabanı değişikliklerini elle sunucuya müdahale etmek yerine migration dosyalarıyla takip edin. Ayrıca geliştirme ve üretim ortamlarını birbirinden ayırın; ortama bağlı ayarları yapılandırma üzerinden yönetin. Gerçek parolaları içeren
.env dosyasını sürüm kontrolüne eklemeyin; üretimde web kökünü projenin public dizinine yönlendirin.Sık yapılan hatalar
Laravel’i PHP alternatifi sanmak: Laravel, PHP üzerinde çalışan bir framework’tür. PHP temelleri bilinmeden yalnızca Artisan komutlarını öğrenmek, hata ayıklamayı zorlaştırır.
Her kodu route dosyasına yazmak: Küçük denemelerde mümkün olsa da büyüyen uygulamada controller, model ve view sorumluluklarını ayırmamak bakım maliyetini artırır.
Veritabanı ayarını kontrol etmeden migration çalıştırmak: Bağlantı bilgileri, veritabanının varlığı ve kullanıcının yetkileri doğru değilse migration başarısız olur. Hata mesajı bağlantı mı yoksa tablo yapısı mı kaynaklı olduğunu ayırmak için ilk kontrol noktasıdır.
Geliştirme sunucusunu üretimde kullanmak:
php artisan serve geliştirme ve test içindir. Üretimde uygun PHP çalışma ortamı, web sunucusu ve uygulama yapılandırması ayrıca planlanmalıdır.