php laravel tutorial
Bu Laravel öğreticisi PHP Laravel Framework'ü tanıtır, Laravel'in ne olduğunu, nasıl kurulacağını, MVC mimarisini ve çeşitli bileşenleri açıklar:
Laravel Çerçevesi bir PHP için ücretsiz ve açık kaynaklı web çerçevesi. Karmaşık web uygulamaları geliştirmek için kullanılır. Dayanmaktadır Model-Görünüm-Denetleyici (MVC) mimari tasarım deseni.
Laravel Framework'ün tarihi, özellikleri, avantajları, mimarisi, kurulumu ve bileşenleri hakkında bilgi edineceksiniz.
Ne öğreneceksin:
Laravel Öğreticiler Listesi
Öğretici 1: Yeni Başlayanlar İçin PHP Laravel Eğitimi (Bu Eğitim)
Öğretici # 2: Laravel Veritabanı, Göçler, Eloquent ORM ve Tinker
Öğretici 3: Laravel Formları ve Örneklerle Doğrulama Kuralları
Eğitim 4: Laravel Oturumu, Dosya Yükleme / İndirme ve İzinler
Öğretici 5: Laravel Koleksiyonu ve Laravel Forge Eğitimi
Öğretici # 6: Laravel Röportaj Soruları ve Cevapları
Laravel nedir
Tarih:
Laravel Çerçevesi, Taylor Otwell ve yıl içinde kamuoyuna açıklandı 2011 .
Aşağıdaki tablo Laravel'in farklı versiyonlarını göstermektedir.
Sürüm | Yayın tarihi | PHP Sürüm Desteği |
---|---|---|
5.2 | 21 Aralık 2015 | 5.5.9 ile 7.1 arasında. * |
1.0 | 2011 Haziran | ------------------------------------------- |
2.0 | Eylül 2011 | ------------------------------------------- |
3.0 | 22 Şubat 2012 | ------------------------------------------- |
4.0 | 28 Mayıs 2013 | Minimum 5.3.0 |
5.0 | 4 Şubat 2015 | Minimum 5.4.0 |
5.1 | 9 Haziran 2015 | Minimum 5.5.9 |
5.3 | 23 Ağustos 2016 | 5.6.4 ile 7.1 arasında. * |
5.4 | 24 Ocak 2017 | 5.6.4 veya üstü |
5.5 | 30 Ağustos 2017 | 7.0.0 veya üstü |
5.6 | 7 Şubat 2018 | 7.1.3 veya üstü |
5.7 | 4 Eylül 2018 | 7.1.3 veya üstü |
5.8 | 26 Şubat 2019 | 7.1.3 veya üstü |
6.x | 3 Eylül 2019 | 7.2.0 veya üstü |
7.x | 3 Mart 2020 | 7.2.5 veya üstü |
8.x | Laravel 8 henüz piyasaya sürülecek (2020'de) | 7.3.0 veya üstü |
Not: Bunda Laravel eğitimi , kullandık Laravel sürüm 7 tüm örneklerde.
Popülerlik:
Sektörde Laravel, Symfony, Codeigniter, Yii, CakePHP ve PHP için Zend çerçevesi gibi birçok çerçeve mevcuttur.
Peki ne düşünüyorsun, hangisi en popüler PHP Framework? Cevap Laravel .
Aşağıdaki ekran görüntüsü Google Trendler farklı PHP frameworklerinin popülerliğinin analizini gösterir.
(resim kaynak )
Avantajlar:
Aşağıdaki liste Laravel Framework'ün bazı avantajlarını göstermektedir.
- MVC mimari tasarım modelini takip eder
- Ücretsiz ve açık kaynak
- Öğrenmesi kolay
- İyi dokümantasyon desteği
- Entegrasyonu kolay
- Yüksek performans ve verimlilik
- Yüksek düzeyde güvenlik
Özellikleri:
Laravel, zengin özelliklere sahiptir. Bunlar aşağıdaki gibidir:
- Modülerlik: Laravel, geliştiricilerin duyarlı ve modüler PHP web uygulamaları oluşturmalarına yardımcı olan birçok yerleşik kitaplığa ve modüle sahiptir. Bu özellik aynı zamanda geliştirmeyi de hızlandırır.
- Tembel Koleksiyon: Minimum bellek kullanımıyla yüksek miktarda veriyi işler.
- Eloquent ORM : ORM'nin kısaltması Nesne İlişki Haritalama . Laravel, adında yerleşik bir ORM'ye sahiptir Güzel veritabanı ile ilgili işlemleri yürüten.
- Zanaatkar: Zanaatkar komut satırı arayüzü Laravel'de kullanılır.
- Bıçak şablonları: Laravel'in Bıçak ağzı, Bu, verileri görüntülemek için benzersiz bir şablon oluşturur.
- Birim testi: Laravel'de birim testi yapmak için test senaryoları kullanılabilir.
- E-posta desteği: Laravel adında yerleşik bir sınıfa sahiptir. Posta, Bu, e-posta göndermeye yardımcı olur.
- Doğrulama: Kimlik doğrulama, sistem kullanıcılarını tanımlamak için kullanılır. Genellikle kullanıcının kullanıcı adı ve şifresinin tanımlanmasıyla elde edilir.
Laravel'in MVC Mimarisi
Laravel Çerçevesi aşağıdaki gibidir MVC mimarisi . MVC, web uygulamalarının daha hızlı geliştirilmesine yardımcı olan bir mimari tasarım modelidir. MVC duruyor Model-Görünüm-Denetleyici .
- Modeli (M) –Bir model, web uygulaması tarafından kullanılan verileri işler.
- Görünüm (V) –Bir görünüm, verileri kullanıcıya göstermeye yardımcı olur.
- Kontrolör (C) –Bir denetleyici, görünüm için veri oluşturmak üzere modelle etkileşime girer.
Aşağıdaki ekran görüntüsü Model, Görünüm ve Denetleyici arasındaki etkileşimleri gösterir.
(resim kaynak )
Laravel için Ön Koşullar
Bu öğreticiye devam etmeden önce, aşağıdaki kavramlara aşina olmanız gerekir.
- HTML ve CSS
- Çekirdek PHP ve Gelişmiş PHP
- PHP ve MySQL kullanarak web uygulaması geliştirme
- MVC mimarisi (bu eğitimde MVC mimarisinin bazı temellerini zaten ele aldık)
Windows için Laravel Framework 7'yi yükleyin
Laravel 7'yi Kurmak için Ön Koşullar:
Laravel Framework'ü kurmadan önce, aşağıdaki programları bilgisayarınıza kurun. PHP sürüm 7.2.5 PHP'nin minimum uyumlu sürümüdür Laravel sürüm 7 .
- Apache gibi Web Sunucusu
- PHP sürüm 7.2.5 veya üzeri sürüm
- PHP uzantıları *
- BCMath PHP Uzantısı
- Ctype PHP Uzantısı
- Fileinfo PHP uzantısı
- JSON PHP Uzantısı
- Mbstring PHP Uzantısı
- OpenSSL PHP Uzantısı
- PDO PHP Uzantısı
- Tokenizer PHP Uzantısı
- XML PHP Uzantısı
- MySQL
- Composer (Composer'ı indirmek ve yüklemek için URL için sonraki konuya bakın)
*Not: Yukarıdaki PHP uzantıları, sisteminize önceden yüklenmiş olabilir.
Besteci
Besteci bir PHP için bağımlılık yöneticisi . Laravel, Besteci bağımlılıklarını yönetmek için.
Laravel'i kurmadan önce besteciyi kurmanız gerekir. Besteciyi yüklemediyseniz, aşağıdakileri ziyaret edin URL besteciyi indirmek ve kurmak için.
Besteciyi bilgisayarınıza başarıyla kurup kurmadığınızı kontrol etmek için komut isteminde aşağıdaki komutu çalıştırın.
Windows 10 için en iyi optimizasyon yazılımı
composer
Besteciyi başarıyla kurduysanız, aşağıdakine benzer bir ekran görüntülenecektir. Ayrıca bestecinin kurulu sürümünü de gösterir.
Laravel Installer'ı indirin
İndirmek için komut isteminde aşağıdaki komutu çalıştırın. Laravel kurulumu besteciyi kullanarak bilgisayarınızda.
composer global require laravel/installer
İlk Laravel PHP Projesi Oluşturuluyor
Yeni bir dosya oluşturmak için komut isteminde aşağıdaki komutu çalıştırın. Laravel PHP projesi isimli laravel-öğretici besteciyi kullanarak (herhangi bir adı kullanabilirsiniz). Geçerli dizinde Laravel projesini oluşturacaktır.
composer create-project --prefer-dist laravel/laravel laravel-tutorial
Localhost'ta İlk Laravel PHP Projesini Çalıştırma
Aşağıdaki komutu çalıştırarak komut isteminde Laravel PHP proje klasörüne gidin.
cd laravel-tutorial
Ardından, Laravel geliştirme sunucusunu başlatmak için komut isteminde aşağıdaki komutu çalıştırın.
php artisan serve
Aşağıdaki ekran görüntüsü, yukarıdaki komutun çıktısını gösterir.
Yukarıdakileri kopyalayın URL: http://127.0.0.1:8000 ve bir web tarayıcısında açın.
Laravel projesini başarıyla çalıştırdıysanız, aşağıdakine benzer bir ekran göreceksiniz.
Tebrikler! İlk Laravel projenizi başarıyla çalıştırdınız.
Laravel PHP Proje Yapısı
Proje yapısı dizinler, alt dizinler ve dosyalardan oluşur.
Not: Bir dizin aynı zamanda Klasör .
Projenizi şuradan açın: Dosya Gezgini Laravel projesinin kök dizin yapısını görmek için. Aşağıdakine benzer bir ekran göreceksiniz.
Aşağıdaki liste, tipik bir Laravel projesindeki bazı önemli dizinleri, alt dizinleri ve dosyaları açıklamaktadır:
- uygulama dizini: Bu dizin, kök dizinindeki en önemli dizinlerden biridir. Uygulama dizini, web uygulamasının kaynak kodunu içerir. Aşağıdaki alt dizinleri içerir ve User.php dosya.
- Konsol dizini: Bu dizin içerir esnaf komutları Laravel için gereklidir.
- İstisnalar dizin: Bu dizin içerir istisna işleyicileri .
- Http dizini: Bu dizin, için alt dizinleri içerir. Kontrolörler ve Ara yazılım.
- Sağlayıcılar dizin: Bu dizin tüm Servis sağlayıcıları .
- User.php dosyası: Bu varsayılandır Modeli Laravel tarafından sağlanmıştır.
- önyükleme dizin: Bu dizin, Laravel PHP uygulamasının bootstrap ile ilgili dosyaları içerir.
- yapılandırma dizin: Bu dizin, çeşitli yapılandırma dosyaları Laravel PHP uygulaması için gereklidir.
- veri tabanı dizin: Bu dizin, veritabanıyla ilgili dosyaları içerir. Aşağıdaki alt dizinleri ve. Gitignore dosya.
- fabrikalar rehberi: Bu dizin birçok veri kaydı oluşturur.
- geçişler dizini: Bu dizin ile ilgili dosyalar var veritabanı geçişleri .
- tohumlar dizin: Bu dizin içerir sınıflar birim test veritabanı için kullanılır.
- halka açık dizin: Bu dizin, Laravel PHP uygulamasını başlatmaya yardımcı olan dosyaları içerir.
- kaynaklar dizin: Bu dizin, HTML dosyaları, CSS dosyaları, JavaScript dosyaları ve blade şablonlarını içerir. Aşağıdaki alt dizinleri içerir.
- js dizini: Bu dizin ile ilgili dosyalar var JavaScript .
- lang dizin: Bu dizin, yerelleştirme ve içselleştirme .
- saas dizin: Bu dizin aşağıdaki gibi dosyaları içerir SCSS Dosyalar.
- Görüntüleme dizin: Bu dizin içerir HTML dosyaları veya şablonlar Verileri kullanıcıya göstermeye yardımcı olan.
- rotalar dizin: Bu dizin tüm güzergah tanımları Laravel PHP uygulaması için.
- depolama dizin: Bu dizin içerir önbellek dosyaları, oturum, toplantı, celse dosyalar vb. .
- test dizini: Bu dizin içerir dosyaları test et birim test dosyaları gibi.
- SATICI dizin: Bu dizin tüm besteci bağımlılık paketleri .
- .env dosyası: Bu dosya şunları içerir: çevresel değişkenler .
- composer.json dosyası: Bu dosya bir yapılandırma dosyası bağımlılıkları belirten.
- package.json dosyası: Bu dosya, composer.json dosya ama bu başlangıç aşaması .
- ve birkaç dosya daha
Laravel Rotalarına Giriş
Yönlendirme, talebi kabul eder ve onu ilgili kontrolör işlevine yönlendirir.
Laravel Framework'te iki ana yol dosyası vardır:
- yollar / web.php: Bu dosya kaydolmak için kullanılır web yolları .
- yollar / api.php: Bu dosya kaydolmak için kullanılır API yolları .
Aşağıdaki kod bölümü, Laravel tarafından kaydedilen varsayılan web yolunu gösterir. Hoşgeldiniz sayfa.
Route::get('/', function () { return view('welcome'); });
Yukarıdaki rotada, Rota işlevi tanımlamak için kullanılan sınıftır almak() . İşlev almak() parametresi var ' / Laravel uygulamasının kök URL'sini belirtir.
Aşağıdaki ekran görüntüsü yukarıdaki rotanın çıktısını göstermektedir.
Kayıtlı rotaların tam listesini almak için komut isteminde aşağıdaki komut çalıştırılabilir.
tarayıcı uyumluluk testi nasıl yapılır
php artisan route:list
Rota Oluşturma
Aşama 1: Aşağıdaki kod segmentini ekleyin yollar / web.php yeni bir rota kaydetmek için dosya.
Route::get('/example', function () { return 'Hello World!!!'; });
Adım 2: Ziyaret edin URL: http://127.0.0.1:8000/example çıktıyı görmek için.
Aşama 3 : Aşağıdaki ekran görüntüsü çıktıyı gösterir.
Yönlendirme Parametreleri
Laravel Framework iki tür rota parametresi kullanır.
# 1) Gerekli parametreler
Gerekli parametreler, aşağıda gösterildiği gibi URL'ye geçen parametrelerdir.
Route::get('user/{name}', function ($name='Paul') { return $name; });
# 2) İsteğe bağlı parametreler
Yer ' ? 'Yönlendirici parametresinden sonra isteğe bağlı Aşağıda gösterildiği gibi.
Route::get('user/{name?}', function ($name='Paul') { return $name; });
Adlandırılmış Rotalar
Aşağıdaki rotada, rapor denetleyicisi işlevi arayacak Raporu göster gibi parametrelerle bildiri .
Route::get(student/report, 'ReportController@showReport')->name(report);
Laravel Denetleyicileri
MVC mimarisinde, 'C' karakteri, Kontrolör . Bir denetleyici, gerekirse ilgili modelle iletişim kurar ve içeriği kullanıcıya görüntülemek için görünümü yükler.
Tüm kontrolörler, app / Http / Denetleyiciler dizin.
Bir Denetleyici Oluşturma
Adlı bir denetleyici oluşturmak için komut isteminde aşağıdaki komutu çalıştırın. UserContoller .
php artisan make:controller UserController
Bu komut adlı bir dosya oluşturacaktır. UserController.php içinde app / Http / Denetleyiciler dizin. Varsayılan olarak, Controller.php dosyası Laravel Framework'e dahildir.
Denetleyicileri Rotalardan Çağırma
Aşağıdaki sözdizimi, kontrol cihazlarını rotalardan çağırmak için kullanılabilir.
Route::get(‘base URI’,’controller@method’);
Bir örnek görelim.
Aşama 1: Aşağıdaki kod segmentini yollar / web.php yeni bir rota kaydetmek için dosya.
Route::get('/assessment', 'AssessmentController@index');
Adım 2: Adlı bir denetleyici oluşturmak için komut isteminde aşağıdaki komutu çalıştırın. AssessmentController .
php artisan make:controller AssessmentController
Bu komut adlı bir dosya oluşturacaktır. AssessementController.php içinde app / Http / Denetleyiciler dizin.
Aşama 3: Oluştur indeks işlevi AssessementController Aşağıda gösterildiği gibi.
4. Adım: Adlı bir görünüm oluşturun değerlendirme.php içinde kaynaklar / görünümler dizin ve aşağıdaki kodu kaydedin.
Adım 2: Aşağıdaki kod segmentini yollar / web.php yeni bir rota kaydetmek için dosya.
Route::get('/index', function () { return view('index'); });
Aşama 3: Ziyaret edin URL: http://127.0.0.1:8000/index çıktıyı görmek için.
4. Adım: Aşağıdaki ekran görüntüsü çıktıyı göstermektedir.

Verileri Görünümlere Aktarma
Verilerin görünüme nasıl aktarılabileceğini görmek için bir örnek yapalım.
Aşama 1: Adlı bir görünüm oluşturun user.php içinde kaynaklar / görünümler dizin ve aşağıdaki kodu kaydedin.
Adım 2: Aşağıdaki kod segmentini yollar / web.php yeni bir rota kaydetmek için dosya.
Route::get('/user', function () { return view('user', ('name' => 'John')); });
Aşama 3: Ziyaret edin URL: http://127.0.0.1:8000/user çıktıyı görmek için.
4. Adım: Aşağıdaki ekran görüntüsü çıktıyı göstermektedir.

Blade Şablonlarına Giriş
Blade şablonları kullanır .blade.php uzantı. Bıçak şablonları kaynaklar / görünümler dizin.
Blade Şablonlarının Kullanımı
- Kullanım 1: değişken değerler
Blade şablonlarında kullanabiliriz {{$ değişken}} yerine bir değişkenin değerini yazdırmak için gördüğünüz gibi, Hayır yazmak lazım PHP etiketleri ya da dışarı attı anahtar kelime.
Bir örnek verelim!
Daha önce, user.php aşağıdaki kodu kullanarak dosya.
Aşama 1: Dosyayı yeniden adlandırın user.php -e user.blade.php (içinde kaynaklar / görünümler dizini) ve mevcut kodu aşağıda gösterildiği gibi değiştirin.
My name is {{ $name }}
Adım 2: Ziyaret edin URL: http://127.0.0.1:8000/user .
Aşağıda gösterildiği gibi önceki örnekle aynı çıktıyı alacaksınız.

- Kullanım 2: üçlü operatörler
Blade şablonlarında kullanabiliriz {{$ değişken veya 'varsayılan_değer'}} onun yerine $ değişken:? default_value? ?> üçlü operatörler yazmak için.
Sonuç
Laravel Çerçeve PHP için popüler, ücretsiz ve açık kaynaklı bir MVC tabanlı web çerçevesidir. Karmaşık PHP web uygulamaları geliştirmek için kullanılır. Laravel'de kayıtlı rotalar, talebi kontrolörün ilgili işlevine yönlendirir. Daha sonra kontrolör gerekirse ilgili model ile iletişim kurar ve kullanıcıya içeriği görüntülemek için görünümü yükler.
Ara yazılım, bir istek ve yanıt arasında bir köprü görevi görür. Laravel, verileri görüntülemek için benzersiz bir düzen tasarlamak için Blade adı verilen özel bir konsept kullanır ve diğer görünümler tarafından kullanılabilir.
Bu Laravel eğitimini faydalı bulduğunuzu umuyoruz! Gelecek Laravel Eğitimi , Laravel'in veritabanı ile ilgili işlevlerini tartışacağız.
İyi öğrenmeler!
Önerilen Kaynaklar
- Laravel Koleksiyonu ve Laravel Forge Eğitimi
- Laravel Veritabanı, Göçler, Eloquent ORM ve Tinker
- Laravel Formları ve Örneklerle Doğrulama Kuralları
- Laravel Oturumu, Dosya Yükleme / İndirme ve İzinler
- En İyi 50 PHP Mülakat Soruları ve Cevapları (TÜMÜ İÇİN)
- En Popüler 10 PHP Test Çerçevesi ve Aracı
- 2021'de En İyi 8 Çevrimiçi PHP IDE ve Editörleri (En İyi ÜCRETSİZ ve Ücretli)
- 40+ PHP Laravel Mülakat Soruları ve Cevapları (2021 LİSTESİ)