bilgiliadam
Yeni Üye
5Laravel Nedir?
Laravel en küçük uygulamadan oldukça geniş projelere kadar yazılım yapabileceğiniz MVC yapısına sahip açık kaynak kodlu PHP frameworküdür 2019 ve 2019 yıllarında sitepoint tarafından yapılan en popüler framework anketinde üst üste iki sene liderliği göğüsledi Github üzerinde en çok takip edilen PHP projesidir Web sanatçılarının PHP frameworkü sloganını hakkını sonuna kadar vermektedir
5Laravelin özellikleri
Laravel yapısı oldukça basit ve kolaydır Kısa bir süre içinde öğrenilerek projelerinizi geliştirebilirsiniz Bağımlılık yöneticisi olarak composer kullanması sebebiyle çakışma olmadan gerekli bileşenleri projenize ekleyebilirsiniz İçinde hazır bulunan auth mekanızması ile kullanıcı sistemi olan hatta çoklu giriş (müşteri , firma , admin) gibi yapılara kadar destek vermektedir OOP yapısına uygun olması sebebiyle projenize belli bir zaman sonra bile dönseniz kolay bir şekilde geliştirmeye devam edebilirsiniz Kullandığı PSR4 sdandartları ile sadece laravel için değil psr4 ile yazılmış paketleri de kolaylıkla dahil edebilirsiniz
Eloquent
Eloquent yapısı ORM sistemi üzerine kurulmuş Aktif Kayıt mekanizmasıyla çalışan güzel bir veritabanı sistemidir Her veritabanı tablosu Model adı verilen obje sınıflarıyla haberleşir ve Birbirleriyle bağ kurar Bu sayede sql cümleleri yazmadan veritabanı sisteminden bağımsız olarak çalışabilirsiniz Örneğin Mysql ile başladığınız sistemi ileride kolayca PostgreSQL, Oracle, SQLite veya MSSql sistemine çevirebilirsiniz
Post::find(1);
Yukarıdaki gibi bir kullanım ile idsi 1 olan posts tablosundaki veriyi getirebilirsiniz Tablo ismi otomatik olarak çoğulu olsada düzenlenebilir Ama standartlara uymak sizin için her zaman kolaylık olacaktır
5Route
Route yapısı oldukça gelişmiş olan url yönetim sistenmi laravelde kullanılmaktadır Hangi url hangi methoda gidecek hangi yöntemle gidecek veya hangi middleware ile çalışacak burada tanımlanmaktadır Bu sayede post ile erişilen yere get ile erişilmez veya diğer bir ifade ile aynı urlde birden çok method ile farklı işlemler yapabilirsiniz GET,POST,PUT,DELETE gibi methodlar ile kolaylıkla api rotası oluşturarak mobil uygulamalarınızla tam bir uyum içinde çalışabilirsiniz
5Blade Engine
View yapısı olarak Laravelde blade engine tercih edilmiştir Frameworklerde MVC yapısı ile kod geliştirdiğiniz zaman Controller kısmında işlediğiniz veriyi View kısmına göndererek kullanabilirsiniz Genel olarak array kullanılan bu yapılardan php echo veya foreach gibi metodlar için blade syntaxları kullanılır
title{{ $page'title' }} title
@foreach($products as $product)
@endforeach
Bu yapı sayesinde hem cache sistemi projenizi hızlandırırken neyin nerede olduğunu bilirsiniz
5Migrations
Migrate sistemi veritabanı için tablo oluşturup güncellediğiniz geri aldığınız en temel anlamda versiyonlama gibi çalıştırabileceğiniz sistemdir Veritabanı oluştururken herhangi bir veritabanı arayüzü olmadan kolaylıkla tabloları oluşturup çalışabilirsiz Ayrıca bu sistem Git sistemi ile çalışıyorsanız sadece uygulamanızın kodlarını tutarak kolaylıkla tekrar tekrar kurulum yapılmasını kolaylaştırır Ayrıca olması gereken verileri DB Seed sistemi ile veritabanına kolaylıkla aktarabilirsiz
5Unit Test
Her ne kadar yazılımcıların üşendiği bir konu olsada çoklu geliştirilen ve çok çalışanın geliştirdiği projelerde kullanılması gereken bir yapıdır Projenizin her zaman aynı sonuçları vermesini kontrol edebileceğiniz testleri oluşturup console üzerinden test edebilirisiniz
5Pagination
Eloquent yapısıyla beraber oldukça kolay bir biçimde sayfalama yapabiliyoruz Düzenlenebilen yapısı standart olarak bootsrapa uygun şekilde gelmektedir
5Performans
Performans için laravel içinde bir çok bileşen bulundurmakta Oldukça verimli çalışan cache sistemi ve kolay bağlantı kurabileceğiniz redis içinde mevcuttur Yüksek IO içeren sistemler veya uzun süren işlemler için queue sistemi mevcuttur
Bir symfony kütüphanesi laravelin temelinde bulunur Haliyle bunlar güncellendikçe laravelde güncellenir Bu açıdan bir çok açığı giderilmiş olur Açık kaynaklı oluşu ve buraya katkıda bulunan bir çok kişi sayesinde oldukça gelişmiş ve gelişmekte olan laravel ile sitenizi kolay biçimde canlı ortam sistemine çevirebilir veya bakıma alabilirsiniz Bu topluluk aynı zamanda bir çok platformda birbirine destek olmaktadır
Bir şeyi nasıl kullanacağınız kolaylık laravel dökümanlarında bulabilirisiniz Ayrıca laracasts web sitesi bir çok video ile eğitim vermektedir Ücretsiz içeriklerde bulunan sitede ileri düzey sistemler için aylık ücret talep ediliyor
5Form Doğrulama
Bir çok php projesinde doğrulama işlemleri sıkıntılı evrelerdir Seçeneklerin çokluğu sebebiyle oldukça zahmetli ve ciddi zaman ayırılması gerek bir iştir Ama laravel ile ister tarih ister ip ister url isterseniz veritabanında bir değerin olup olmadığını sorgulayın hiç sıkıntı yaşamazsınız Saniyeler için formunuzu ekleyebilirsiniz
5Çoklu Dil
Multi language sistemi içinde hazır gelen laravelin kolay bir fonksiyon yapısı ile çoklu dilde proje geliştirenler için ilaç gibidir Her dil için bir klasör bulundurmanız ile validation gibi bir yapıyı kolaylıkla her dile uydurabilir veya hazır olarak internetten projenize ekleyebilirsiniz
5Mail ve Broadcasting
İçinde buludnurduğu SwitfMailer ile her sistem üzerinde kolaylıkla mail atabilir veya mailgun gibi sistemlerin paketleri ile api ile mail atabilirsiniz Broadcast sistemi tam anlamı ile 53 de oturdu diyebiliriz Kolaylıkla telefonlara bildirim atabilir SMS sistemleri ile sms gönderebilir veya Slack gibi 3 parti uygulamalara veri gönderebilrisiniz
5Laravel Nasıl Kurulur
Composer ile kurulum
composer createproject laravellaravel blog –preferdist
Komutu yazdığınız konumda blog diye bir klasör açarak laraveli kurar
Git ile kurulum
git clone :githubcomlaravellaravelgit
git komutu ile bilgisayarımıza çektiğimiz projeyi laravel klasörünün içine atmaktadır Sonrasında ise composer ile kurulum yapmamız gerekiyor
composer install
Laravelin diğer bir güvenlik yapısı ise virtual host ettğimiz yeri projenin public klasörü olarak gösterirsek ki doğrusu budur Diğer klasörlere doğrudan web üzerinden erişemeyiz Bu sayede içinde hassas veriler içeren env dosyasına erişilemez Laravel diğer frameworklerden iyidir veya kötüdür demek bize düşmez ancak laravel ile proje geliştirdiğinizde sadece projenize odaklanıyorsunuz ve yaptığınız işten keyif alıyorsunuz
Laravel en küçük uygulamadan oldukça geniş projelere kadar yazılım yapabileceğiniz MVC yapısına sahip açık kaynak kodlu PHP frameworküdür 2019 ve 2019 yıllarında sitepoint tarafından yapılan en popüler framework anketinde üst üste iki sene liderliği göğüsledi Github üzerinde en çok takip edilen PHP projesidir Web sanatçılarının PHP frameworkü sloganını hakkını sonuna kadar vermektedir
5Laravelin özellikleri
Laravel yapısı oldukça basit ve kolaydır Kısa bir süre içinde öğrenilerek projelerinizi geliştirebilirsiniz Bağımlılık yöneticisi olarak composer kullanması sebebiyle çakışma olmadan gerekli bileşenleri projenize ekleyebilirsiniz İçinde hazır bulunan auth mekanızması ile kullanıcı sistemi olan hatta çoklu giriş (müşteri , firma , admin) gibi yapılara kadar destek vermektedir OOP yapısına uygun olması sebebiyle projenize belli bir zaman sonra bile dönseniz kolay bir şekilde geliştirmeye devam edebilirsiniz Kullandığı PSR4 sdandartları ile sadece laravel için değil psr4 ile yazılmış paketleri de kolaylıkla dahil edebilirsiniz
Eloquent
Eloquent yapısı ORM sistemi üzerine kurulmuş Aktif Kayıt mekanizmasıyla çalışan güzel bir veritabanı sistemidir Her veritabanı tablosu Model adı verilen obje sınıflarıyla haberleşir ve Birbirleriyle bağ kurar Bu sayede sql cümleleri yazmadan veritabanı sisteminden bağımsız olarak çalışabilirsiniz Örneğin Mysql ile başladığınız sistemi ileride kolayca PostgreSQL, Oracle, SQLite veya MSSql sistemine çevirebilirsiniz
Post::find(1);
Yukarıdaki gibi bir kullanım ile idsi 1 olan posts tablosundaki veriyi getirebilirsiniz Tablo ismi otomatik olarak çoğulu olsada düzenlenebilir Ama standartlara uymak sizin için her zaman kolaylık olacaktır
5Route
Route yapısı oldukça gelişmiş olan url yönetim sistenmi laravelde kullanılmaktadır Hangi url hangi methoda gidecek hangi yöntemle gidecek veya hangi middleware ile çalışacak burada tanımlanmaktadır Bu sayede post ile erişilen yere get ile erişilmez veya diğer bir ifade ile aynı urlde birden çok method ile farklı işlemler yapabilirsiniz GET,POST,PUT,DELETE gibi methodlar ile kolaylıkla api rotası oluşturarak mobil uygulamalarınızla tam bir uyum içinde çalışabilirsiniz
5Blade Engine
View yapısı olarak Laravelde blade engine tercih edilmiştir Frameworklerde MVC yapısı ile kod geliştirdiğiniz zaman Controller kısmında işlediğiniz veriyi View kısmına göndererek kullanabilirsiniz Genel olarak array kullanılan bu yapılardan php echo veya foreach gibi metodlar için blade syntaxları kullanılır
title{{ $page'title' }} title
@foreach($products as $product)
@endforeach
Bu yapı sayesinde hem cache sistemi projenizi hızlandırırken neyin nerede olduğunu bilirsiniz
5Migrations
Migrate sistemi veritabanı için tablo oluşturup güncellediğiniz geri aldığınız en temel anlamda versiyonlama gibi çalıştırabileceğiniz sistemdir Veritabanı oluştururken herhangi bir veritabanı arayüzü olmadan kolaylıkla tabloları oluşturup çalışabilirsiz Ayrıca bu sistem Git sistemi ile çalışıyorsanız sadece uygulamanızın kodlarını tutarak kolaylıkla tekrar tekrar kurulum yapılmasını kolaylaştırır Ayrıca olması gereken verileri DB Seed sistemi ile veritabanına kolaylıkla aktarabilirsiz
5Unit Test
Her ne kadar yazılımcıların üşendiği bir konu olsada çoklu geliştirilen ve çok çalışanın geliştirdiği projelerde kullanılması gereken bir yapıdır Projenizin her zaman aynı sonuçları vermesini kontrol edebileceğiniz testleri oluşturup console üzerinden test edebilirisiniz
5Pagination
Eloquent yapısıyla beraber oldukça kolay bir biçimde sayfalama yapabiliyoruz Düzenlenebilen yapısı standart olarak bootsrapa uygun şekilde gelmektedir
5Performans
Performans için laravel içinde bir çok bileşen bulundurmakta Oldukça verimli çalışan cache sistemi ve kolay bağlantı kurabileceğiniz redis içinde mevcuttur Yüksek IO içeren sistemler veya uzun süren işlemler için queue sistemi mevcuttur
Bir symfony kütüphanesi laravelin temelinde bulunur Haliyle bunlar güncellendikçe laravelde güncellenir Bu açıdan bir çok açığı giderilmiş olur Açık kaynaklı oluşu ve buraya katkıda bulunan bir çok kişi sayesinde oldukça gelişmiş ve gelişmekte olan laravel ile sitenizi kolay biçimde canlı ortam sistemine çevirebilir veya bakıma alabilirsiniz Bu topluluk aynı zamanda bir çok platformda birbirine destek olmaktadır
Bir şeyi nasıl kullanacağınız kolaylık laravel dökümanlarında bulabilirisiniz Ayrıca laracasts web sitesi bir çok video ile eğitim vermektedir Ücretsiz içeriklerde bulunan sitede ileri düzey sistemler için aylık ücret talep ediliyor
5Form Doğrulama
Bir çok php projesinde doğrulama işlemleri sıkıntılı evrelerdir Seçeneklerin çokluğu sebebiyle oldukça zahmetli ve ciddi zaman ayırılması gerek bir iştir Ama laravel ile ister tarih ister ip ister url isterseniz veritabanında bir değerin olup olmadığını sorgulayın hiç sıkıntı yaşamazsınız Saniyeler için formunuzu ekleyebilirsiniz
5Çoklu Dil
Multi language sistemi içinde hazır gelen laravelin kolay bir fonksiyon yapısı ile çoklu dilde proje geliştirenler için ilaç gibidir Her dil için bir klasör bulundurmanız ile validation gibi bir yapıyı kolaylıkla her dile uydurabilir veya hazır olarak internetten projenize ekleyebilirsiniz
5Mail ve Broadcasting
İçinde buludnurduğu SwitfMailer ile her sistem üzerinde kolaylıkla mail atabilir veya mailgun gibi sistemlerin paketleri ile api ile mail atabilirsiniz Broadcast sistemi tam anlamı ile 53 de oturdu diyebiliriz Kolaylıkla telefonlara bildirim atabilir SMS sistemleri ile sms gönderebilir veya Slack gibi 3 parti uygulamalara veri gönderebilrisiniz
5Laravel Nasıl Kurulur
Composer ile kurulum
composer createproject laravellaravel blog –preferdist
Komutu yazdığınız konumda blog diye bir klasör açarak laraveli kurar
Git ile kurulum
git clone :githubcomlaravellaravelgit
git komutu ile bilgisayarımıza çektiğimiz projeyi laravel klasörünün içine atmaktadır Sonrasında ise composer ile kurulum yapmamız gerekiyor
composer install
Laravelin diğer bir güvenlik yapısı ise virtual host ettğimiz yeri projenin public klasörü olarak gösterirsek ki doğrusu budur Diğer klasörlere doğrudan web üzerinden erişemeyiz Bu sayede içinde hassas veriler içeren env dosyasına erişilemez Laravel diğer frameworklerden iyidir veya kötüdür demek bize düşmez ancak laravel ile proje geliştirdiğinizde sadece projenize odaklanıyorsunuz ve yaptığınız işten keyif alıyorsunuz