PHP FRAMEWORKLERİN KARŞILAŞTIRILMASI ve LARAVEL FRAMEWORKÜN İNCELENMESİ Hakan KÖR1, Hasan ERBAY2 1Hitit Üniversitesi, Uzaktan Eğitim Merkezi, Çorum 2Kırıkkale.

Slides:



Advertisements
Benzer bir sunumlar
Web uygulamalarında yeni bir yaklaşım AJAX
Advertisements

ASP.NET MVC Nedir ? Neden Gereksinim Duyulmuştur ?
Esen EYRİBAŞ – Oktay AYDIN
.NET FRAMEWORK -MASAÜSTÜ VE SUNUCU YAZILIMLARI
MS OFFICE Access 2013.
SGB.NET’İN TEKNİK ALTYAPISI
VERİTABANI YÖNETİM SİSTEMLERİ
Web 2.0 Nedir Eğitimde Nasıl Kullanılır?
WEB SERVİCE İDRİS YÜRÜK MAHMUT KAYA.
DİCLE ÜNİVERSİTESİ AKADEMİK BİLGİ SİSTEMİ (AKADEMİKWEB)
BTEP 203 – İnternet ProgramcIlIğI - I
Çevre ve Orman Bakanlığı Bilgi İşlem Dairesi Başkanlığı
BTP 108 BİLGİSAYAR AĞ SİSTEMLERİ AĞ KAVRAMI Birden çok bilgisayarın birbirine bağlı olarak kullanılmasıyla oluşturulan çalışma biçimine bilgisayar ağı.
1 DİNAMİK WEB SAYFASI. 2 Personel ve Öğrenciler ile tüm internet kullanıcılarına hizmet verebilecek, Ziyaretçilerin kolay anlaşılabilir bir ara yüz ile.
JavaScript Javascript , Netscape firması tarafından C dilinden esinlenilerek yazılmıştır Yazılma amacı Html'in sahip olmadığı bazı özelliklerin web sayfalarında.
HTML (HYPER TEXT MARKUP LANGUAGE) TEMEL ETİKETLERİ
Nesneye Dayalı Programlama
Framework, yazılımın iskeletini oluşturan, fonksiyon ve sınıflardan oluşan geniş çaplı bir kütüphaneye sahip uygulama çatısıdır. Framework proje sürecini.
.NET Teknolojileri .NET mimarisi VB.NET, C.NET, C#.NET
CONTENT MANAGEMENT SYSTEM (İÇERİK YÖNETİM SİSTEMLERİ)
Kan Bağış Web Uygulaması
FREMEWORK.
KOBİ – ŞİRKET PORTALI BİTİRME PROJESİ EMRE UYUMAZ & ANIL GÜR.
AKILLI KART SAĞLIK SİSTEMİ
 Yazılım geliştiriciler framework 'ün sunduğu kütüphaneyi kullanarak; Daha kısa zamanda daha fazla iş üretebiliyor, Daha düzenli bir yapı ortaya çıkarabiliyor,
FRAMEWORK. Model : Veritabanına kayıt girilmesi, kaydın güncellenmesi, kaydın getirilmesi vb. işlemleri yaptığımız kısımdır. (Kısaca insert, update,
, Denizli Akademik Bilişim 2006 YAZILIM GELİŞTİRME SÜRECİNDE OTOMATİK KOD ÜRETİCİLER Çağdaş Can BİRANT Kökten Ulaş BİRANT Prof. Dr. Alp KUT.
HAZIRLAYAN:SEMİH KÜRTÜNCÜ
WEB PROGRAMCILIĞI.
ASP.NET Web FORMS -> MVC FRAMEWORK
Microsoft Office Access
Web Tasarımı ve Adobe Muse
KONGRE YÖNETİM SİSTEMİ MEHMET TURAN M. SERTAÇ KELEŞ.
Gizem Tanış Bozok Üniversitesi Öğr. Görevlisi.  Veri erişimi için ADO.NET kodunu yazmak ve yönetmek zordur.  Microsoft, uygulamada veritabanı aktivitelerini.
ÇOK KATMANLI MİMARİLER. Katman: Ortak işi yapan kodların bir yerde toplanması Örneğin hemen hemen her projemizde veri tabanı kullanırız, bunun için veritabanı.
Mobil Uygulama Geliştirme
Veritabanı Yönetim Sistemleri - I
BULUTBUDUR UYGULAMA GELİŞTİRME PLATFORMU.
NetKafem Kullanımı Basit, Maliyeti Düşük, İşlevleri Güçlü
UNV13107 TEMEL BİLGİ TEKNOLOJİSİ KULLANIMI. Veri tabanı Bilgisayar ortamında saklanan düzenli verilerdir. Bilgisayar ve ağ ortamındaki bilginin temel.
Dosya sistemi, bilgisayarın sabit disk üzerindeki verileri düzenlemek için kullandığı temel yapıdır. Disk depolamanın temel birimidir. Disklerin kullanılabilmesi.
ÖTÖ 451 Okul Yönetiminde Bilgisayar Uygulamaları R. Orçun Madran.
Akdeniz Ü., Teknik Bilimler MYO, Bilgisayar.
Mobil Uygulama Geliştirme Teknikleri
İÇERİK YÖNETİM SİSTEMİ Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu.
FAT VE NTFS DOSYA YAPISI
ÇAKIL SU KIRLI ANIL CAN AKKAYA SENA ÖNDER ÇAĞRI KUÇAT CEREN ERGİN DORUK ERTÜRK.
Web Önyüzü Nasıl Olmalı? : İskelet {css} : Görünüm JavaScript() : Etkileşim.
WEB TABANLI DESTEK.
Üniversiteler Ortamında Açık Kaynak Kodlu Bulut Bilişim Kullanımı
Web Tasarımı Giriş.
İçerik Yönetim Sistemi
Web Teknolojileri Giriş.
Active Directory.
VİRÜS ÇEŞİTLERİ VE BULAŞMA YÖNTEMLERİ. VİRÜS NEDİR? Bilgisayar virüsleri, aslında "çalıştığında bilgisayarınıza değişik şekillerde zarar verebilen" bilgisayar.
Tarayıcı Sorunları ve Çözümleri
WEB TASARIMI BOOTSTRAP KULLANIMI SAVAŞ TUNÇER
İNTERNET PROGRAMCILIĞI 2
Nesneye Dayalı Programlarla Nesne İlişki Haritalanması
Ocak, 2013 Akdeniz Üniversitesi
Uzm. Rıdvan YAYLA – Bilecik Üniversitesi Müh. Fak. Bilg. Müh. Bölümü
Amazon Web Servisleri ve Javascript Dilinin Birlikte Kullanımı
(Öğrenci Transkript) Akademik Bilgi Ve Kayıt Sistemi Student
Mustafa COŞAR- Murat DOĞAN- İsmail ARIK Hitit Üniversitesi
Bu sununun aynısını (Animasyonlar vb
Tasarım: Ali Topal.
YAZILIM KOD ÜRETEÇLERİ
İLERİ VERİ TABANI UYGULAMALARI
Genel PHP Akademik Bilişim 2003 Adana, Şubat 2003 Hidayet Doğan
Akademik Özgeçmiş Tabanlı Fakülte Bilgi Sistemi
Sunum transkripti:

PHP FRAMEWORKLERİN KARŞILAŞTIRILMASI ve LARAVEL FRAMEWORKÜN İNCELENMESİ Hakan KÖR1, Hasan ERBAY2 1Hitit Üniversitesi, Uzaktan Eğitim Merkezi, Çorum 2Kırıkkale Üniversitesi, Bilgisayar Mühendisliği Bölümü, Kırıkkale hakankor@hitit.edu.tr, hxe68@yahoo.com

İçerik Giriş 1 Framework Tanımı ve Yapısı? 2 PHP Frameworkler ve Kıyaslanması 3 Laravel Framework Yapısı 4 5 Sonuç ve Öneriler

1-Giriş PHP web programlama dili, sunucu taraflı çalışan, açık kaynak kodlu ve geniş kullanıcı kitlesine sahip bir dildir. 2013 Ocak ayı verilerine göre PHP tabanlı 2.1 milyon web sunucu üzerine 240 milyon web sitesi yüklenildi [1]. PHP diliyle kodlama yapan kullanıcılar kendilerine özgü kütüphaneler tercih etmektedirler. Kullanılan kütüphanelerde uyumluluk, güvenlik problemleri ve güncelleme gerekliliği gibi sorunlar oluşmaktadır. Sıralanan bu problemlerin çözümü için PHP frameworkler kullanılmaktadır.

2-Framework Tanımı ve Yapısı? Framework, yazılımın iskeletini oluşturan, fonksiyon ve sınıflardan oluşan geniş çaplı bir kütüphaneye sahip uygulama çatısıdır. Framework proje sürecini hızlandırır, düzenli ve temiz kod yazımını kolaylaştırır ve yazılıma belli bir standart kazandırır. Diğer bir ifadeyle, frameworkler sahip olduğu alt yapı, sınıf ve eklentiler sayesinde proje üreticilerine daha hızlı, güvenli ve esnek bir kodlama ortama sunmaktadır. Piyasada bulunan çoğu framework kendi içinde MVC tasarım desenini barındırır. Ancak bu MVC ile FRAMEWORK'ün ayrılmaz 2 terim olduğu anlamına gelmiyor. Framework kullanmadan da MVC kullanılabilir.

2-Framework ve MVC Yapısı MVC'nin açılımı Model-View-Controller'dır. Model veritabanı işlemlerinin yapıldığı bölüm, View web sitesinin tasarım arayüzünün bulunduğu bölüm, Controller ise model dosyalarından aldığınız bilgileri işleyip, düzenleyerek gerekli PHP kodlarının yazılarak View bölümüne yani tasarım arayüzüne yönlendirildiği bölümdür[5]. MVC yapısını bir örnekle açıklamak gerekirse; MVC’yi araba olarak düşünelim, model arabanın motor kısmını, view arabanın dış yüzeyi (kaporta) kısmını, son olarak controller ise arabanın hareketini, durmasını ve yönlendirilmesini sağlayan gaz-fren pedalları ve direksiyona benzetilebilir[9].

MVC Nedir? Adını Model View Controller'in baş harflerinden alan tasarım desenidir. Sunduğu katmanlı mimari sayesinde, uygulamanın kullanıcı arayüzü ve mantık kısmını birbirinden ayırır.

MVC Nedir? Model : İş mantığı (Business Logic) bölümüdür. Tek katmandan oluşabileceği gibi, birden fazla katmanda da oluşabilir. Controller'den gelen değerleri işler ve geriye döndürür. Model katmanında herhangi bir output işlemi yapılmaz. View : Uygulamanın kullanıcıya gösterilen arayüzünün bulunduğu katmandır. Html, Css, Javascript vb. bu katmanda bulunur. Controller : Uygulamanın karar mekanizmasıdır. Model ile View arasında köprü görevi görür.

Framework Avantajları •Bir çok yazılımcı tarafından test edilerek güvenlik ve performans optimizasyonlarının yapılmış olması •Proje süreçlerini kolaylaştırması ve hızlandırması •Düzenli ve Temiz kod yazımını kolaylaştırması •Ekip halinde proje geliştirirken karışıklığı önlemesi ve görev paylaşımını kolaylaştırması •Barındırdıkları database adaptörleri sayesinde farklı veritabanı türlerine kolay bir şekilde Entegre Edilebilmesi •İş görüşmelerinde avantaj sağlaması (Php Developer iş ilanlarını incelediğinizde "... Framework'üne hakim" , "En az 1 framework tecrübesi olan" vb. şartları sıkça görür olduk.)

Framework Dezavantajları Eski versiyonlarla uyumsuzluk, Framework yapılarının, kullanıcı tarafından anlaşılmasındaki zorluklar, Bazı frameworklerde belli bir template sistemi barındırmaması Belli bir sistem gereksiniminin olması sıralanabilir.

3-PHP Frameworkler ve Kıyaslanması Framework seçimi PHP geliştiricilerin kararı olsa da, tercih edilecek frameworkün yaygın doküman potansiyelinin olması ve diğer yazılımcılar tarafından çok tercih edilmesi framework seçiminde etkili olmaktadır. PHP web programcılarının kullandığı çok sayıda PHP framework olmasına karşın kullanıcı sayısı ve diğer frameworkleri geride bırakan yapılarından dolayı Zend, CodeIgniter, Symfony2, Phalcon, Yii, CakePHP ve Laravel çok tercih edilen frameworklerdir.

3-PHP Frameworklerin Karşılaştırılması

3-PHP Frameworklerin Karşılaştırılması

3-PHP Frameworklerin Karşılaştırılması

3-PHP Frameworklerin Karşılaştırılması According to the results, the most promising frameworks for 2014 seem to be: 1-Laravel 2-Phalcon 3-Symfony2 Yii and CodeIgniter seem to be sharing 4th place.

4-Laravel Framework ve Yapısı 2011 yılında Taylor Otwell tarafından geliştirilmeye başlanılan Laravel framework diğerlerine göre yeni olmasına rağmen çok hızlı bir gelişme göstermektedir. Bunun nedeni Laravelin çok esnek ve hafif bir framework olmasıdır. Ayrıca sade ve basit yapısıyla takım çalışmaları için ideal bir framework’ tür. Laravelin kendine ait ORM ve Template motoru özelliği dikkat çekmektedir. Kurulumu; Laravel Installer, Composer veya githubtan dosyalar indirilerek yapılmaktadır.

4-Laravel Framework ve Yapısı Laravel Dosya Yapısı

4-Laravel Framework ve Yapısı app: Projelerle ilgili çoğu işlemlerin yapıldığı klasördür. public: proje yayının yapıldığı klasördür. Kullanıların tarayıcıyla erişebildiği aladır. bootstrap: laravel başlangıç class ları ve başlangıç için gerekli bazı dosyaların bulunduğu klasör. vendor: laravel kütüphanelerinin yer aldığı klasör. Laravel Dosya Yapısı

4-Laravel Framework MVC Yapısı Laravel MVC Yapısı : Veritabanı, tasarım ve kodlama işlemlerini ayıran bir yapıya sahiptir.

4-Laravel Framework Yapısı Eloquent: Laravel ORM aracıdır. Blade: Laravel template motoru. Routes.php: Yönlendirme dosyası. Refactoring kavramı Kullanıcı Yetkilendirme

4-Laravel Framework Avantajları -Laravel yüksek trafikte gerektiren işlemlerde olsa performanslıdır. -Laravel, gelişmiş ORM desteği ile birçok sorgudan veritabanına yük getiren işlemler için kolaylık sağlar. -Class Auto Loading özelliği ile tanımlanan tüm sınıfları Laravel sizin için çağıracaktır. -.kararlı bir yapıya sahiptir -Türkçe kaynak açısından da zengin bir içeriğe sahiptir.

5-Sonuç PHP web programlama dilinde farklı yönleriyle birbirlerine üstünlük sağlayan frameworkler bulunmaktadır. Son zamanlarda zengin doküman desteği, mühendislik alt yapısı, MVC yapısı, blade (şablon) oluşturma gibi seçenekleriyle laravel framework tercih edilen, hızlı frameworkle arasında ilk sıralara ulaşmış durumdadır. Framework tercihlerinde insanlar uzun süre kullandığı ve iyi öğrendiği yapıyı değiştirmek istemediğinden dolayı her kullanıcı kendi kullandığı frameworkten kolay kolay vazgeçmemektedir.

Kaynaklar   [1] http://news.netcraft.com/archives/2013/ 01/31/ php-just-grows-grows.html, Erişim tarihi: 15 Ocak 2015. [2] http://1mm.com.tr/blog/phpcilerin-can-simidi-frameworkler-uzerine, Erişim tarihi: 16 Ocak 2015.  [4] http://www.webteders.com/blog/detay/ Framework-Nedir./12, Erişim tarihi: 16 Ocak 2015.  [5] http://www.elifweb.com/makaleler/php-framework-nedir-framework-un-faydalari-nelerdir, 20 Ocak 2015.  [6] http://www.sitepoint.com/best-php-frameworks- 2014/, Erişim tarihi: 15 Ocak 2015.  [7] http://www.ibm.com/developerworks/ library/os-php-fwk1/index.html, Erişim tarihi: 20 Ocak 2015.  [8] http://www.gokceyalcin.com/framework _start, Erişim tarihi: 20 Ocak 2015. [9] http://www.phpuzem.com : Erişim tarihi: 22 Ocak 2015