-
PHP tabanlı web geliştirme frameworküdür. .
-
Açık kaynak kodludur.
-
Basit sözdizimi(syntax) sahiptir.
-
Kapsamlı dökümantasyona sahiptir.
-
MVC mimarasine sahiptir.
-
ORM - The Eloquent Object-Relational Mapper, Laravel framework’ün içerisinde bulunan veri tabanı yönetim aracıdır. ORM veritabanı uygulamalarını da kolaylaştırır.
-
Blade şablonu PHP kodlarını HTML ile birleştirirken temiz ve okunabilir kod oluşturmaya yarar.
<h1>{{ $degisken }}</h1>
gibi -
Laravel Artisan CLI Server başlatılması,veri tabanı migrasyon oluşturma,controller oluşturma vs gibi tüm işlemlerin yapılabildiği komut satırı arayüzüdür.
-
Middleware özelliği vardır.
ADIMLAR
1.PHP kurmak
-
Xammp yada wammp server uygulamaları kurabilirsiniz aracaılığyla kurmak.(Önerilir)
-
Php buradan da kurabilirsiniz https://www.php.net/downloads versiyonun en az 7 ve üzeri olması gerekiyor.
-
PHP bağımlıkları için composer yüklemek.Kısaca composer kütüphaneleri manuel olarak kurmak yerine zahmetsiz bir şekilde yüklemene imkan tanıyor.
-
laravelin yüklenmesi
-
Komut satırını açın şu komutu girin:
composer global require laravel/installer
-
❗ Bu adamda zip ile ilgili bir hata oluyorsanız lütfen php.ini dosyasında "extension=zip" önündeki noktali virgülü(;) silin ve kaydedin ve programları yeniden başlatın.
-
laravel projesi oluşturma işlemi
cd komutu ile istediğiniz bir klasöre geçin daha sonra bu klasör içerisinde şu kodu yazın.
laravel new klasoradı
( klasöradı kısmını istediğiniz gibi ayarlayın.)
-
Eğer sadece backend ile ilgileniyorsanız: none yazıp Enter tuşuna basın. (Sonradan ekleme yapılabilir.)
-
Eğer React kullanarak dinamik bir frontend oluşturmayı planlıyorsan bu seçeneği tercih etmelisin.
-
Eğer Vue.js kullanarak dinamik ve reaktif bir frontend oluşturmayı planlıyorsan, bu seçeneği seçmelisin.
-
Eğer JavaScript kullanmadan dinamik, reaktif bir kullanıcı arayüzü oluşturmak istiyorsan, bu seçenek iyi bir tercihtir. Özellikle PHP'ye odaklanmak istiyorsan tercih edebilirsin.
Laravel'in ön yüz (frontend) varlıklarını (assets) derlemek için gereklidir. Laravel, ön yüz dosyalarını derlemek için Node.js ve npm (Node Package Manager) kullanır. Yüklenmez ise front end tarafı bozuk çalışabilir.
Not: Bu kısımda MVC sistemin bilindiği varsayıldı .
🍏 web.php dosyası, uygulamanızın web rotalarını (Route) tanımladığınız dosyadır.
🍏 MVC sisteminde controller bulunduğu klasör
yüklediğinizyer/app/http/controller
- yeni controller oluşturmak için
php artisan make:controller yenicontroller
Not: Yeni oluşturduğunuz controllerın namespace yazısından sonraki kısmı kopyalıp web.php dosyasına 'use' yazıp yapıştırdıktan sonra \ işareti koyup yeni controllerdaki classının adını yapıştırmalısınız. Aksi halde hata verir.
Yukarıdaki gibi bir controllerın web.php dosyası içerisne şu şekilde entegre etmek gerekir.
use App\Http\Controller\Dene\DeneController
🍏 Veritabanı işlemleri için models klasörü bulunduğu yer:
/app/http/models
🍏 MVC sistemindeki viewler bulunduğu yer:
/resources/views
🍏Laravelde web sitesinin php dosylarında blade kullanmanız gerekiyor.
dosyaadı.blade.php
🍏Herhangibir işlem yapıldığında hangi url'ye gidileceğini gösteren route dosyası.(web.php)
/routes/web.php dosyasından ayarlanıyor.
🍏 Public dosyanın içine css+javascript ve html dosyalarınızı ekleyebilirsiniz.
🍏 .env dosyasının içerisinde database ile ilgili konfigürasyonlar yapabilirsin.
🍏 (MiddleWare) dosyası \app\Http\Middleware\Girismiddleware.php içerisindedir.
Geleneksel yöntemlerde veritabanı tablolarını manuel olarak oluşturup değiştirmek gerekirken, migration sayesinde bu işlemler kod ile tanımlanabilir ve sürüm kontrolüne alınabilir.Migration, veritabanı tablolarını oluşturmak, güncellemek ve silmek için kullanılan Laravel'in bir özelliğidir.
Laravel’de gelen HTTP istekleri ile yanıtlar arasında yer alan ve isteklerin belirli bir işlemden geçmesini sağlayan bir katmandır. Middleware, bir filtre gibi çalışır. Örneğin:
- Kullanıcı giriş yapmış mı? (Yetkilendirme)
- Kullanıcının IP adresi belirli bir aralıkta mı? (Güvenlik)
- Gelen istekleri logla.
- İstek belirli saatler dışında mı geliyor? (Erişim Kontrolü)
Gelen HTTP isteklerini (örneğin, bir kullanıcı bir URL'yi ziyaret ettiğinde) belirli bir işlemi gerçekleştirecek şekilde yönlendiren yapıdır. Laravel, rotalar aracılığıyla kullanıcıların belirli URL'lere yönlendirilmesini ve bu isteklerin nasıl işleneceğini tanımlar. Rota Türleri
-GET: Sayfa görüntülemek için kullanılır (tarayıcıda bir sayfa açmak).
-POST: Form verilerini göndermek için kullanılır.
-PUT: Veriyi güncellemek için kullanılır.
-DELETE: Veriyi silmek için kullanılır
Kullanıcıdan gelen istekler burda değerlendirilir. İsteğin detaylarına göre hangi işlemin yapılacağını seçer.(veri güncelleme gibi )
Gerekli verileri Model’den alır, üzerinde işlem yapar ve View’e (görünüme) yönlendirir. View’e işlenmiş verileri iletir ve istemciye HTML, JSON veya başka bir formatta yanıt döndürülmesini sağlar.