urgot01
Yeni Üye
Laravel 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. 2015 ve 2016 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.
Laravelin ö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ığı PSR-4 sdandartları ile sadece laravel için değil psr-4 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.
Route
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.
Blade 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.
Migrations
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.
Unit 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.
Pagination
Eloquent yapısıyla beraber oldukça kolay bir biçimde sayfalama yapabiliyoruz. Düzenlenebilen yapısı standart olarak bootsrapa uygun şekilde gelmektedir.
Performans
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 I/O 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.
Form 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.
Ç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.
Mail 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 5.3 de oturdu diyebiliriz. Kolaylıkla telefonlara bildirim atabilir SMS sistemleri ile sms gönderebilir veya Slack gibi 3. parti uygulamalara veri gönderebilrisiniz.
Laravel Nasıl Kurulur
Composer ile kurulum
composer create-project laravel/laravel blog –prefer-dist
Komutu yazdığınız konumda blog diye bir klasör açarak laraveli kurar.
Git ile kurulum
git clone
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. 2015 ve 2016 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.
Laravelin ö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ığı PSR-4 sdandartları ile sadece laravel için değil psr-4 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.
Route
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.
Blade 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.
Migrations
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.
Unit 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.
Pagination
Eloquent yapısıyla beraber oldukça kolay bir biçimde sayfalama yapabiliyoruz. Düzenlenebilen yapısı standart olarak bootsrapa uygun şekilde gelmektedir.
Performans
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 I/O 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.
Form 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.
Ç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.
Mail 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 5.3 de oturdu diyebiliriz. Kolaylıkla telefonlara bildirim atabilir SMS sistemleri ile sms gönderebilir veya Slack gibi 3. parti uygulamalara veri gönderebilrisiniz.
Laravel Nasıl Kurulur
Composer ile kurulum
composer create-project laravel/laravel blog –prefer-dist
Komutu yazdığınız konumda blog diye bir klasör açarak laraveli kurar.
Git ile kurulum
git clone
Ziyaretçiler için gizlenmiş link,görmek için
Giriş yap veya üye ol.
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.