Doğru PHP çerçevesini seçin

Yazar: John Stephens
Yaratılış Tarihi: 26 Ocak Ayı 2021
Güncelleme Tarihi: 19 Mayıs Ayı 2024
Anonim
Doğru PHP çerçevesini seçin - Yaratıcı
Doğru PHP çerçevesini seçin - Yaratıcı

İçerik

Bir PHP çerçevesi, geliştiricilerin kodunun düzgün bir şekilde düzenlenebileceği bir temel sağlar. Belgeler, yaygın sorunlar, çözümler, ipuçları ve tavsiyeler çevrimiçi olarak açık kaynak tarzında paylaşılabilir.

Web çerçevelerinden önceki günlerde, özel bir tarzda yazılmış sitelere rastlamak yaygındı. Farklı kodlayıcılar, kodlarını düzenlemek ve mimarilerini tasarlamak için kendi teknik ve metodolojilerini kullanırlar. Bu, bir dizi sorun yaratacaktır: belge eksikliği, karmaşık özel çerçeveler - veya "bir programcı ayrılırsa ne olur?"

Geliştiriciler genellikle kod düzenleme sorununu "endişelerin ayrılması" sürecini izleyerek, temelde daha büyük sorunları daha küçük sorunlara bölerek ve kod bölümleri arasında farklı çalışma sınırları belirleyerek çözmeye çalıştılar.

Şablon oluşturma motorları, web uygulaması geliştirmeye yardımcı olmak için başka bir yararlı araç sağladı. Smarty Template Engine, web geliştiricilerinin genellikle uğraştığı iki kod alanının kolay ayrılmasını sağlayan uzun süredir kullanılan popüler bir kitaplıktır: içerik üretimi (diğer adıyla iş mantığı) ve nasıl görüntülendiği (sunum biçimlendirmesi veya görünümü).


Sağlam web siteleri

Sağlam web siteleri oluşturmak için kapsamlı bir çözüm olarak kendilerini sunduklarında, çerçeveler 2004 yılında gerçekten kullanıma girdi. Popüler PHP frameworklerinin çoğu, ağırlıklı olarak model-view-controller veya kısaca MVC olarak adlandırılan tasarım metodolojisine dayanmaktadır. Ünlü Ruby on Rails MVC çerçevesinin 2004 ortalarında piyasaya sürülmesi muhtemelen tesadüf değildir; bu şüphesiz diğer birçok PHP çerçevesi için bir ilham kaynağı olacaktır.

Sahnedeki ilk PHP çerçevelerinden biri, ne yazık ki artık aktif olmayan Mojavi Projesi idi. Ancak günümüzde dikkatimizi çekmek için savaşan birçok PHP çerçevesi var. Bu makalede, şu anda endüstride sıklıkla kullanılan dört ana PHP çerçevesini ele alacağız: CakePHP, CodeIgniter, Symphony ve Zend.

01. PHP çerçevesi tam olarak nedir?

Peki bir PHP çerçevesi nedir? Esasen, geliştiricilerin bir site geliştirirken uydukları bir dizi PHP sınıfı ve işlevidir. MVC paradigması, şablon oluşturma motorlarının bir uzantısı olarak görülebilir. İşte hızlı bir açıklama:


  • Model: Model, sunucu iş mantığı kodunu içerir. Bu genellikle bazı ön veya son işlemlere ek olarak bir veritabanına okuma ve yazmayı içerir. Örneğin: 'Bir kullanıcı bir yorum girer, ancak biz onu veritabanına eklemeden önce, akismet.com ile bir spam kontrolü yapmamız gerekir; geçerse eki yapabiliriz. "
  • Görünüm: Bu, çıktıyı kullanıcıya belirli bir biçimde, çoğunlukla HTML biçimlendirmesinde sunduğunuz yerdir, ancak bu JSON veya XML biçimi olabilir. Örneğin: "Bir forum konusu için tüm yorumları görüntülememiz gerekir, model tüm yorumları alır ve ardından görünüm tarafından okunur ve biçimlendirilir."
  • Denetleyici: Kontrolör esasen yöneticidir. Önce URL'yi keser, ardından tarayıcıya, mobil cihaza veya bir API arayıcısına sunmadan önce doğru modelleri ve görünümleri çağırır. Örneğin: 'Bir konuya ilişkin tüm açıklamaları görüntülerken, denetleyici modele asıl çağrıyı yapar ve ardından model verilerini görünüme aktarır, bu da daha sonra HTML çıktısını oluşturur. Oluşturulan bu görünüm daha sonra denetleyici tarafından çağıran tarayıcıya gösterilir. "

Bir PHP çerçevesi, belirli kod türlerini yerleştirmeniz gereken iyi tanımlanmış bir kodlama şablonu sağlar. Aşağıdaki ultra basit PHP kodu, MVC'nin genel olarak nasıl çalıştığına dair bir kodlayıcı görüşü verecektir. Bulunduğunuz yerdeki mevcut hava durumunu gösterir!


? php
// Hava durumu "kontrolörü"
function controller_weather () {
$ tür = model_weather ();
echo view_weather ($ tür);
}
// Mevcut verileri / hava durumunu, "model" i alın
function model_weather ()
// verileri al
$ status = 'Pencereden dışarı bakın!';
$ durumu döndür;
}
// HTML sunusu oluştur, "görünüm"
function view_weather ($ type) {
// tasarım ve düzen burada olmalı
'b> Bulunduğunuz yerin hava durumu: / b>
’. $ Type;
}
// URL'yi kesip ilgili denetleyiciyi çağırın
eğer (strstr ($ _SERVER [’REQUEST_URI’], ’/ weather /’
) ) {
controller_weather ();
}
?> var13 ->

Yaygın bir hata, denetleyici ve model arasındaki kodu karıştırmaktır. İşletme kodu ideal olarak tek bir yerde olmalıdır: modelde veya aslında bir üçüncü taraf kitaplığında. Kendinize sormanız gereken iyi bir soru şudur: 'Diğer kontrolörler bu mantığı kullanır mıydı; bu genel bir kod parçası mı? "Cevabınız evet ise, o zaman o tek yere ait olmalıdır, model en yaygın olanıdır.

İş mantığının kontrolörlerde veya modellerde nereye yerleştirilmesi gerektiği konusunda hala bazı karışıklıklar var. Yalnızca Google "fat model skinny controller". Sorunun çoğu, "iş mantığı" nın belirsiz bir terim olduğu gerçeğinden kaynaklanıyor.

İş mantığı ile görünüm arasında net bir ayrım yapmanın bir başka iyi yolu, diğer sistemlerle entegrasyonu kolaylaştırmak için bir API geliştirmektir. Bu, aşağı yukarı bir web ekibini sağlam bir sistem kurmaya zorlar çünkü aynı iş mantığı parçası farklı senaryolara uyarlanabilir olmalıdır. Ek olarak, bunun bir projenin başlangıcından itibaren dikkate alınması gerekir.

Görünümü ayırmak çok daha kolaydır: görünümde yalnızca programlama ekranı sözdizimine sahip olabilirsiniz. Denetleyiciler ve modeller hiçbir zaman herhangi bir sunum sözdizimi içermemelidir, örneğin br />. Yaparsan başın büyük belaya girecek!

02. Nasıl yardımcı olabilir?

Bir PHP çerçevesi kullanmak her projenin cevabı olmayabilir. Ortamınıza bakmanız ve bir PHP çerçevesinin ne kadar iyi uyum sağlayabileceğine karar vermeniz gerekir. Çerçeve kullanmanın bazı artıları ve eksileri:

Artıları

  • PHP çerçeveleri, hızlı bir uygulama geliştirme yöntemi olarak kullanılabilir ve hızlı prototiplerin geliştirilmesini sağlar.
  • Her proje benzer bir yapıya dayandığından, daha hızlı bir geliştirme döngüsü sağlar.
  • Geliştiriciler, kodun yapısı hakkında çok fazla endişelenmeden projeden projeye kolayca atlayabilir.
  • Çevik yazılım geliştirme ile iyi oynuyor.
  • Temel kod daha az sıklıkla değişecek ve daha kararlı bir site ortaya çıkacaktır.

Eksileri

  • Bazı çerçevelerin dik bir öğrenme eğrisi vardır.
  • Belirli bir çerçeve deneyimine sahip geliştiriciler bulmak zor olabilir.
  • Tüm çerçeveler hatasız değildir
  • Bilgisayar korsanları, çerçevelerdeki zayıflıklardan yararlanabilir.
  • MVC ilkesinin farklı çerçevelerin yorumları ve destekleyici kitaplıkları değişebilir.

Genel olarak PHP çerçeveleri ve çerçeveleri esas olarak geliştiricilerin etki alanı içindedir. Bununla birlikte, bir web projesindeki diğer tarafların çerçeveler söz konusu olduğunda farklı ihtiyaçları vardır:

  • Yöneticiler / sahipler: Bir çerçeve içindeki model-görünüm-denetleyicinin üç farklı alanı, yöneticilere görevleri yönetilebilir parçalara bölmek için bir yol sağlar. Örneğin, Ürünler modeli dahilinde çalışan bir geliştiricinin harici olarak nasıl kullanıldığı konusunda endişelenmesine gerek yoktur. Dış sunum, Görünüm tarafından ele alınır. Temelde bir çerçeve, daha kolay paralel geliştirme sağlar. Çevik geliştirme, çerçevelerle uyumlu bir proje yönetimi yöntemidir. Hemen hemen tüm çerçevelerde bulunan birçok araç ve yöneticilerin anlayabileceği temiz bir yapı ile hızlı geliştirme ve geri dönüşler normdur.
  • Tasarımcılar: Görsel temsilin kodla birleştirilmesi her zaman zor bir görev olacaktır. Bir MVC çerçevesi kullanmak yardımcı olur, ancak görev yine de sıkıcı ve zordur. Geliştiricilerin bir tasarımı kendi bileşenlerine ayırması ve uygun görünümlere eklemesi gerekir. CSS çerçevelerinin bazen yardımcı olabileceği yer burasıdır.

03. Yapılandırmaya ilişkin Sözleşme

Çerçevelerin çok sayıda senaryoyu ele alması için yapılandırma ayarı önemli bir alandır. Çoğu çerçeve, "yapılandırma yerine kural" tasarım çözümünü tercih eder. Örneğin, bir model için PHP sınıfı çağrılırsa model_öğrencilerveritabanı tablosu adlandırılmalıdır öğrenciler ve karşılık gelen görünüm için PHP sınıfı çağrılmalıdır view_students. Bu, önceki PHP hava durumu örneğinde görüldüğü gibi, yapılandırma ayarlarının karmaşıklığını azaltır.

Yapılandırma dosyaları daha fazla esneklik ve kontrol sunar; bunun dezavantajı, konfigürasyona kıyasla konvansiyona kıyasla karmaşıklık ekleyebilmeleridir.

Aşağıda, Symfony’nin yönlendirme dosyasındaki bir yapılandırma kod parçacığı verilmiştir:

# app / config / routing.yml
Merhaba:
desen: / merhaba / {ad}
varsayılanlar: {_controller:
AcmeHelloBundle: Merhaba: index}

Karşılık gelen kod basitçe bir "merhaba dünya" komut dosyasıdır: örneğin URL, example.com/hello/Bob, çıktı "Merhaba Bob" olur. Yukarıdaki sözdizimi snippet'i, URL'yi uygun denetleyici kod parçasıyla eşleştirir.

04. Ayrımı görüntüleyin

MVC çerçevelerinin kullanımının çözdüğü başlıca sorunlardan biri, iş mantığını veri çıktısından ayırmaktır.

Bir PHP çerçevesi kullanırken bazı kodların sunum mantığına karıştırılması kaçınılmazdır. Bununla birlikte, herhangi bir sunum işaretlemesini denetleyicinin ve daha da önemlisi modelin dışında tutmak istersiniz. Basit hava durumu örneğimizde, kalın HTML etiketi eklemeye karar verirsek b>, sunu JSON veya XML formatındaysa muhtemelen sorunlara neden olacağı için kötü bir uygulama olarak kabul edilir.

function model_weather () {
// Bu kötü!
// Modelde sunum biçimlendirmesine izin verilmez !!
// Düzelt ya da başka!
$ status = ’b> Pencereden dışarı bakın! /
b> ’;
$ durumu döndür;
}

05. Veritabanı desteği

Web uygulamaları çoğunlukla kalıcı kullanıcı verilerini depolamak için bir veritabanı kullanır. Dört ana PHP çerçevesinin tümü, MySQL ve Oracle ve MS Server gibi diğer yaygın veritabanı sürücüleri için iyi bir desteğe sahiptir. Bazı PHP çerçevelerinin kullandığı nesne ilişkisel eşleme (ORM) adı verilen ilgili bir yazılım bileşeni vardır. Özellikle Symfony, diğer PHP çerçevelerinde de kullanılabilen üçüncü taraf bir ORM olan Doctrine'den yoğun bir şekilde yararlanır. ORM, bir web projesi içindeki veritabanı kodunu basitleştirmeyi amaçlamaktadır.

06. Topluluk

Tartıştığımız tüm ana PHP frameworkleri topluluk desteğine sahiptir; CodeIgniter özellikle aktif. Blog yazarları tarafından yazılan her PHP çerçevesi için öğretici sayısına dikkat edin: geliştiricilerin bir PHP çerçevesini anlamalarına yardımcı olmak için çok ihtiyaç duyulan bir kaynak. Dikkate değer gerçek: Symfony, 2011'de büyük bir sürüm yükseltmesi yaptı. Yeni sürüm 2 ile ilgili bilgiler ilgili olmayabilir; ancak sürüm 2, kanıtlanmış bir çerçevede büyük bir değişikliktir.

07. Belgeler

Belgeleme, resmi referans noktası olarak hayati önem taşır. Yaygın bir durum olsa da, işlerin nasıl çalışması gerektiğini görmek için kaynak kodunu incelemeye gerek olmamalıdır. Dokümantasyon, her özellikle uyumlu güzel örnekler içermelidir. Dahası, iyi bir PHP çerçevesi çeşitli kitaplara, forumlara ve video eğitimlerine sahip olmalıdır.

08. Ek PHP çerçeve özellikleri

  • Yardımcı işlevler: Bunlar genellikle yalnızca tek bir görevi, örneğin e-posta doğrulamasını gerçekleştiren düz PHP işlevleridir.
  • Önbelleğe almak: Daha fazla içeriğe çok çeşitli yollarla erişildikçe bu daha da önem kazanıyor. Tüm PHP çerçevelerinin değişen derecelerde önbellekleme mekanizmaları vardır. Birçok web sahibi ayrıca Squid gibi üçüncü taraf araçlarını tercih eder.
  • Birim testi: Bu, uygulamanızdaki kodun otomatik olarak test edilmesini sağlar. Büyük projeler için bazı birim testleri eklemeyi denemelisiniz. İncelenen tüm PHP frameworklerinin ya kendi birim test yöntemleri vardır ya da hemen hemen fiili PHP test paketi olan PHPUnit'i kullanırlar.
  • Form oluşturma: Burada PHP çerçeveleri gerçekten parlayabilir. Formlar, web uygulamalarında o kadar yaygındır ki, çoğu çerçeve, geliştiricilere web formları eklemede yardımcı olmak için oluşturma veya doğrulama özelliklerine sahiptir.
  • Oturum, toplantı, celse: PHP'deki oturum özellikleri zaten oldukça iyi çalışıyor. Çoğu PHP çerçevesi, mevcut PHP oturumunun üzerine özellikler ekler. Özellikle Zend, iyi oturum kontrol işlevlerine sahiptir.
  • Şablon oluşturma: Bu, bir görünümde kodun nasıl düzenlendiğini ifade eder. "Görünüm içinde kodu düzenlemenin en iyi yolu nedir?" Sorusunu yanıtlamaya çalışır. Smarty Template, MVC çerçevelerinden önce erken bir çözümdü. Bu makale bağlamında, Twig adlı bir şablon oluşturma yazılımı kullanan tek çerçeve Symfony'dir. Smarty Template'e çok benzer ve Symfony ile aynı şirket tarafından geliştirilmiştir.
  • Genişletme / üçüncü taraf modülü: Üçüncü taraf eklentileri ve temaları, WordPress ve Drupal gibi geliştirme platformlarının arkasındaki itici güç olmuştur. Bazı MVC çerçeveleri aynı şeyi yapmayı amaçlar; CakePHP dışında hemen hemen hepsi ilkel üçüncü taraf uzantılarına veya eklentilerine sahiptir. Çerçevelerin bu alanda daha fazlasını yapması gerekiyor.
  • EKL: Erişim kontrolü ve oturum açma yönetimi, birçok web uygulamasının ortak bir özelliğidir. Tüm çerçeveler, genellikle Erişim Kontrol Listeleri (ACL) olarak adlandırılanlarla ilgili çeşitli düzeylerde özellikler sağlar. CodeIgniter, üçüncü taraf ACL eklentileri için web'de arama yapmanız gereken tek çerçevedir.

09. Ana yarışmacılar

20'den fazla farklı açık kaynaklı PHP çerçevesi vardır; bu genellikle ciddi bir beyin donmasına neden olur. Bununla birlikte, son yıllarda, CakePHP, CodeIgniter, Symphony ve Zend gibi dört ana çerçeve yavaş yavaş hakim hale geldi.

Bu, uzun ömür, topluluk desteği ve dokümantasyon yardımına bağlıdır. Özellikler, çoğunlukla benzer şeyler yaptıkları için kullanılmazlar ve bir çerçevede bir özellik yoksa, muhtemelen üçüncü taraf bir eklenti bulunacaktır. Bir çekiçin diğerinden nasıl daha iyi olduğu genellikle kişisel felsefe, geçmiş deneyim veya mevcut çalışma ortamı meselesidir.

Dört çerçeveden, CodeIgniter ve CakePHP birbirine fazlasıyla bağlıdır ve CodeIgniter, alması en kolay olanıdır. Bunu Zend ve Symfony izliyor çünkü birbirlerine çok benziyorlar. Symfony, toplanması gereken daha fazla bilgi birikimi sayesinde Zend'e kıyasla en dik öğrenme eğrisine sahiptir.

1 CakePHP
Artıları Aktif topluluk; Cake Bakery (fırın. Cakephp.org)
Eksileri Cake'in işleri yapmak için çok özel yolları vardır

Bu çerçeve Ruby on Rails'den ilham alır ve büyük ölçüde KISS (aptalca tut) kampına aittir. Çerçeve yapısının anlaşılması kolaydır. Denetleyiciler, modeller ve görünümler için klasörler vardır. Çoğu web uygulamasında kodunun çoğu bu üç klasör türünde bulunur.

CakePHP'nin öne çıkan özelliği, üçüncü taraf geliştiricilerin kendi kodlarını ekleyebilecekleri ve toplulukla paylaşabilecekleri Cake Bakery'dir. CakePHP iyi bir orta yoldur, CodeIgniter kadar basit değildir, ancak Zend veya Symfony kadar karmaşık değildir.

CakePHP'nin ORM veya şablon motoru gibi eklentileri yoktur. Dört çerçeveden kurumsal desteği olmayan tek çerçeve budur - ancak bu bir artı nokta olarak görülebilir.

2 CodeIgniter
Artıları Hız; çok hafif; büyük aktif topluluk, iyi belgeler
Eksileri Kodlamada çok fazla özgürlüğe izin verebilir

Oregon'da EllisLab tarafından oluşturulan ve CakePHP'den kısa bir süre sonra 2006'da piyasaya sürülen bu, en iyi tür yaklaşımının tercih edildiği projelerde harika. Ağırlıklı hissetmeden diğer üçüncü taraf yazılımları ekleyebilirsiniz ve CakePHP ve Zend gibi takip edebileceğiniz net bir MVC klasör yapısına sahiptir. CodeIgniter, geliştiricilere, bireysel metodoloji açısından düşünmeniz gereken Zend veya Symfony'den farklı olarak, sorunları kendi düşüncelerine göre çözmeleri için daha fazla alan sağlar.

3 Symfony
Artıları ORM; kendi şablon motoruna sahiptir
Eksileri Dik öğrenme eğrisi

Fransız ajans SensioLabs tarafından yaratılan Symfony kesinlikle farklı hissediyor. Yoğun veritabanı çalışması için bir artı olan ORM kullanımını teşvik eder ve yine SensioLabs tarafından oluşturulan kendi Twig şablon motorunu kullanır.

Bir fikir edinmek için sürüm 2 sitesi olan symfony.com'u ziyaret edin. Sürüm 1 sitesi symfony-project.org ile karıştırmayın; sürüm 2 öğrenilecek olanıdır!

Symfony'de açık bir MVC terminolojisi yoktur, ancak diğer çerçevelerle aynı şeyi yapar. Web uygulaması özelliklerini ayırmaya yardımcı olan Paketler, ilgili kod koleksiyonları veya dosyalar olarak adlandırılan benzersiz bir konsepte sahiptir. Zend gibi, kod üretimi Symfony'de önemli bir rol oynar.

Bu anlaşılması en zor çerçevedir, ancak iyi bir topluluk desteği ile yardım asla uzakta değildir. Model yapısı diğer birçok çerçeveden farklıdır: Doctrine'i iş mantığı model kodu için giriş noktası olarak destekler.

4 Zend
Artıları Uzun ömürlü iyi kurumsal yazılım
Eksileri Tasarım kalıbı kavramlarını kavramak zaman alır

PHP motorunun arkasındaki firma olan Zend tarafından yaratılan bu çerçevenin ciddiye alınacağı aşikardı. Zend, sağlam, kurumsal tarzda bir yazılımın yanı sıra ticari bir web sunucusu, destek ve kendi IDE'si gibi ilgili ticari ürünlerin özelliklerine sahiptir. Kombinasyon halinde bunlar, onu web uygulamaları geliştirmenin güçlü bir yolu haline getirir.

Zend, CodeIgniter ve CakePHP'ye benzer, ancak tasarım kalıbı konseptlerine dayalı ağır dokümantasyon, işe başlamayı zorlaştırabilir.

Zend, PHP ile ilgili iş tanımlarına bakıldığında muhtemelen en çok aranan çerçevedir ve içinde epeyce iyi özelliklere sahiptir. Lucene arama özelliği, bir uygulamaya ticari düzeyde web araması getirir; diğer önemli noktalar arasında form oluşturma, veri filtreleme ve Uluslararasılaştırma yer alır. Ancak Zend, bir PHP çerçevesinden çok daha fazlasıdır; destek, eğitim, sertifika ve ilgili ürünlerden yararlanırsınız.

10. Bir çerçeve seçme

Çerçevenizi seçmek büyük ölçüde proje koşullarına bağlı olabilir ve herhangi bir araçta olduğu gibi kişisel bir felsefi seçimdir. Tek kişilik bir ajans, kısa bir öğrenme eğrisi ile hızlı bir geri dönüş isteyebilir; büyük bir firma Java hissine sahip sağlam yazılımları tercih edebilir - Zend'in karşılayacağı kriterler.

Uzun ömür önemli bir faktördür. Dokümantasyonla yakından ilgilidir; Uzun bir geçmişe sahip çerçeveler daha büyük bir bilgi havuzuna sahiptir. Maliyet de bir sorun olabilir: Zend veya Symfony gibi daha dik öğrenme eğrilerine sahip çerçeveler, yetenekli kodlayıcılar gerektirir - bu da her zaman daha yüksek ücret anlamına gelir. Genellikle büyük projeler için ticari desteğe ihtiyaç vardır; Zend veya Symfony, yerini almak için iyi yerleştirilmiş.

Yukarıda belirtildiği gibi, PHP kodlamada bir kariyer arıyorsanız, Zend, şirketlerin aradığı en büyük çerçeve. Bu, e-ticaret platformu Magento'nun temel yapısı olarak Zend'i kullanmasıyla da beslenebilir.

Ismarlama uygulamalar için, neden bir çerçeve kullanmayacağınızı düşünmek genellikle zordur. Ancak birkaç istisna olabilir:

  • Sitenin dış görünüm / temalardan yararlanmasını istersiniz, böylece genel siteleri kolayca geliştirebilirsiniz, bu durumda WordPress kullanmak için iyi bir adaydır.
  • Çerçevelerde üçüncü taraf hatalarla uğraşmanın zorluğunu istemeyebilirsiniz. Ayrıca çok fazla istenmeyen otomatik hareket davranışı da olabilir.

Aşağıdaki tablo, dört ana çerçevenin her birinin projeniz için hangisinin doğru olduğuna karar vermenize yardımcı olması gereken bazı özellikleri göstermektedir:

Genel olarak çerçeveler, ısmarlama web uygulamalarını sıfırdan oluşturmada sağlam bir temel sağlar. Bununla birlikte, PHP çerçeveleri genellikle Joomla, WordPress veya Drupal gibi CMS sistemleriyle karıştırılabilir; içerik yönetimi için ısmarlama özellikler de ekleyebileceğiniz hazır bir platform sağlarlar.

İnsanlar genellikle bir çerçeveden diğerine geçmenin kolay bir iş olup olmadığını sorarlar. Kısacası, bir çerçeveden veya aslında bir CMS sisteminden geçiş, sitenin tamamen yeniden yazılmasına eşdeğerdir. Hepsi bir MVC mimarisi kullansa da, her çerçevenin yorumu ve felsefesi büyük ölçüde farklıdır.

11. Diğer teknolojiler

Tüm PHP çerçeveleri asla bağımsız olmamalıdır. Üçüncü taraf yazılımlarla entegrasyon dikkate alınmalıdır. PHP çerçevesi ne kadar büyükse, bunu yapmanın o kadar zor olduğunu söylemek doğrudur.

JavaScript kitaplıklarını / çerçevelerini dahil etmek genellikle basittir; aşağı yukarı ön ucu içerir. Tüm PHP çerçevelerinin JavaScript ve CSS dosyalarını dahil etmek için yardımcı işlevleri vardır. Ölçeğin diğer ucunda, kitaplığı düz bir komut dosyası> HTML'deki etiket.

PHP çerçeveleri ayrıca XSS (erişim güvenlik açığı), XSRF (kötü amaçlı bir sayfa yükleme) ve SQL enjeksiyonu (veri çalma) gibi yaygın güvenlik sorunlarının çoğunu ele alacak şekilde donatılmıştır. Ve SEO söz konusu olduğunda, tüm çerçeveler, URL yeniden yazma gibi gereksinimlerin üstesinden gelmek için yerleşik yapılara sahiptir. Hızın SEO için bir faktör olduğunu ve çerçevenin boyutunun dikkate alınması gerektiğini unutmayın.

Son olarak, bulut bilişim / barındırma hakkında düşünürken, sunucu satın alırken Zend veya Symfony gibi büyük çerçeveler dikkate alınmalıdır.

12. Sonuç

Çoğu durumda, çerçeveler herhangi bir projeye yardım eli uzatır. Ancak herhangi bir araçta olduğu gibi, ne kadar yardımcı olabilecekleri, büyük ölçüde koşullara bağlıdır.

Siteniz daha fazla içerik içeriyorsa, Drupal veya WordPress daha uygun olabilir. ASAP'ı başlatmak için bir sonraki Twitter'ı oluşturuyorsanız, CodeIgniter veya CakePHP iyi seçenekler olacaktır. Ortamınız kurumsal ise, Zend veya Symfony en uygunudur.

Son olarak - ısmarlama bir PHP çerçevesi oluşturmanız gerektiğini düşünüyorsanız, çatlamaya başlayın: aslında oldukça eğlencelidir!

Bu makale ilk olarak web tasarımcıları ve geliştiricileri için dünyanın en çok satan dergisi olan .net'te yayınlandı.

Kai Chan, serbest çalışan bir web geliştiricisidir, kurumsal markalar için web uygulamaları oluşturma konusunda 16 yıldan fazla deneyime sahiptir ve yeni başlangıç ​​fikirlerini sever.

Bunu beğendin mi? Bunları oku!

  • 50 harika HTML5 örneği
  • Bir uygulama nasıl oluşturulur
  • Tasarımcılar için en iyi ücretsiz web yazı tipleri
Abd Tarafından Önerilen
Halloween doodles: en ürkütücü Google Doodles
Daha Fazla Oku

Halloween doodles: en ürkütücü Google Doodles

Bu ürkütücü Cadılar Bayramı karalamaları, izi tartışma ız en iyi tatilin hava ına okmak için mükemmel bir şey. Cadılar bayramına artık adece birkaç hafta kaldı, bu y...
Tour de France logosunun hikayesi
Daha Fazla Oku

Tour de France logosunun hikayesi

Bi iklet anatının hacminin de ifade ettiği gibi, bi iklet ürmenin pek çok ta arımcı için bir tutku olduğunu biliyoruz, bu nedenle pek çok ta arımcının bu yılki Tour de France'a...
Aklınıza gelmemiş olabilecek 7 kesinti aktivitesi
Daha Fazla Oku

Aklınıza gelmemiş olabilecek 7 kesinti aktivitesi

Kilitlenme başladığından beri, reklam öğeleri kapalı kalma ürelerini na ıl dolduracakları hakkında çevrimiçi olarak fikirlerini paylaşıyorlar. Ücret iz der ler ve kur lar unan...