Zend vs Qcodo vs CakePHP [kapalı]

9 Cevap php

I have some exposure to CakePHP and think it is a great framework. Then, I run into this thing called Qcodo. It is another PHP Framework. I've been hearing Zend alot. They all seem very neat, but I'm wondering what are differences between all these frameworks.

Before I waste too much time learning another framework, does anyone know pros and cons of each framework?

Kolay PHP web uygulama geliştirme yapma, modüler ve ölçeklenebilir: hepsi genel hedefi var gibiydi.

EDIT Found this interesting comparison result between CakePHP and Zend

9 Cevap

Ben Qcodo hiç duymadım.

CakePHP automagic bir sürü tam özellikli çerçeve, ama ne yazık ki slowest frameworks out there biridir. Ayrıca resmi forumları yoktur, ve gerçekten bir toplumun o meşgul yoktur. Bu Raylar klon bir Ruby olmaya çalışır, ama bu sadece PHP ile çok iyi çalışmaz.

Zend etkileyici. Bu güçlü bir topluluk ve kurumsal bir destek vardır. Çok özellikli, ancak (bu kriter bakınız) de çok şişirilmiş bu yüzden ılımlı performans var. Ama duyduğuma göre, siz bütün çerçevesini kullanmadan ayrı ayrı bileşenleri kullanmak mümkün, ve hatta diğer çerçeveler ile kullanabilirsiniz!

Ben işte CodeIgniter kullanmak ve onu seviyorum. Bu kadar en acemi dostu çerçevedir ve CakePHP deneyimi ile bir esinti olmalıdır. Bu very good documentation Bu, kapsamlı, açık ve iyi yazılmış sahiptir. Orada diğer çerçeveler var ki (böyle bir ORM gibi) yoksa bir kaç özellikleri vardır, ancak CI gördüğüm en aktif çerçeve toplulukların birine sahiptir. Eğer CI için bir ORM istiyorsanız, ben {tavsiye, Bu eklemek için vb ORMs, kimlik doğrulama, [(2)] - bunun için kütüphaneler yazmak kolay olduğundan, istediğiniz hemen hemen her şeyi yapmak için bir kütüphane bulabilirsiniz }.

Ayrıca Kohana kontrol etmek isteyebilirsiniz. Bu CodeIgniter kapalı bir spin bulunuyor. Bu kesinlikle PHP5 bulunuyor ve bir ORM ve biraz daha özelliklere sahiptir. Olsa kendim kullanmadıysanız, ama iyi şeyler duydum.

Ben her özellikleri okuma ve ihtiyaç belirleme ve en çok kullanarak olacak özelliklerin kod örnekleri bakarak öneririz.

Bazı çerçeveler değil başkalarına, size sezgisel görünebilir. Bir PHP çerçeve seçme IMO çok kişisel bir seçimdir.

Ben bir süre için CakePHP'ye kullandıktan sonra kendime CodeIgniter kullanarak oldum. Anahtarlama için ana nedeni performans nedeniyle oldu, ama CakePHP böylece artık muhtemelen geçerli bir sebep değil son birkaç yıl içinde uzun bir yol kat etti.

[Edit: Görünüşe göre, hala, ryeguy ve yorumlarla post görmek performans eksiklikleri vardır.]

Ben Zend sezgisel olarak bulundu asla ve Qcodo içine baktım hiç.

Vikipedi siz de orada karar vermenize yardımcı olacak bir list of web app frameworks by language, bulabileceğiniz bilgi var.

Ben QCodo & hem de kullanmak Zend Framework

QCodo kod üreteci bir MVC çerçevesi, kodları bir sürü veritabanı tasarım ganerated ve Search & kullanıma hazır üretmek Veritabanı tablosunun her Düzenleme Formu. Ayrıca tablolar arasında bir-çok / çok-çok ilişki için yöntemler kümesini önceden oluşturmak için veritabanı tablo ilişkisini ele.

Nedeniyle bu kodları veritabanı tasarımı oluşturulan, tüm kodlar, her proje için optimsed edildi. Kısacası, O database oriented bir çerçevedir

.................................................. .

Zend Framework tüm modellerini ayrıştırmak için) bildiğim kadarıyla bu projenin kurucusu bildiğimiz gibi, tasarlanmış, ve gerçekten onlar için Zend_ACL (erişim kontrol listesinde, projenin farklı tür modelleri kullanıma hazır bir sürü dağıtırken authenication), vb) Zend _Search _Lucene, Zend _service _Twitter, Zend _service _Flickr, için. Ve ben gelecek için orada olacağını düşünüyorum.

Benim Qcodo için oy! Bir süre önce ben bana en uygun ne bir araştırma yaptım ve sonuç bugünlerde qcodo kullanmak için dikkate almadan bir proje yapamaz, ya da kesinlikle harika, en azından kendi veritabanı taşıma parçası, qcodo olduğunu.

Ben bunu kullanmıyorum rağmen Simfony iyi PHP framework olduğunu düşünüyorum. Ben Simfony kötü değil bulmak neden ben esas Qcodo / Qcubed kullanılan ama Rails hareket ediyorum, bu. I Kodu Igniter denedim ve değil, bu ışığı (sanırım) kullanımı basit, ancak herhangi bir iskele yok, ama bu şimdi değişmiş olabilir. Başka bir adam dediği gibi CI varsayılan olarak bir tane yok, çünkü harici bir ORM kullanabilirsiniz. Zend Framework bir çok modüler bir mimariye sahiptir ve birçok kütüphaneler vardır. Bu yüzden benim kendi implentation yaptım Zend_ACL kullanılan ancak izin miras bir ağrı oldu, Zend_Lucene sorgular gerekli verileri bulamadık ... ZF çok düşük düzeyde çerçeve ve çok bir ORM gerekiyor. CakePHP bir göz vardı ama ben onun veritabanı arayüzü uskur, Qcodo ve Doktrin düzeyinde, ama başta ben kendi kütüphane kullanabilirsiniz düşünüyorum bulundu.

Ben genellikle bir çerçeve istiyorum:

  • ORM ve veritabanı gerçek satır kaydırma nesne ($ objUser-> Ad = 'Jack')
  • MVC - çoğu MVC vardır
  • Kod jeneratörler (Qcodo koduna fantastik veritabanı oluşturmak)
  • Ön kontrolör, yönlendirme ve url dostu (Qcodo bir yok)
  • Temiz şablonu (Qcodo) ($ objLabel-> Render vardır; gerçek değil etiketleri)
  • link_to gibi yardımcı yöntemler, IMAGE_TAG vb (Ruby on Simphony ve Ruby)
  • DB değişiklikleri izlemek için veritabanı göç
  • Gerçek Uygulamayı test etmek için entegre test framework, birkaç değil, izole fonksiyonları (Raylar yapmak ve olabilir Simfony)
  • Çerçevenin toplum ve popülerlik.

Gelişmiş bir PHP geliştiricilerin en çok ben Simfony kullanmak tanıştım, ama bu sadece benim kişisel deneyim olduğunu.

Bitirirken, ben şiddetle Ruby veya JRuby kullanarak Rails denemenizi öneririm Simfony biraz kullanabilirsiniz.

Iyi çerçeveyi belirleyen bir proje-proje kararı olmalıdır. Eğer InnoDB motoru ve tablolar arasındaki ilişkileri sürü-ve-çok kullanarak büyük bir veritabanı varsa, QCubed (Qcodo) check out. Kolaylığı ile bile ters ilişkiler - Ben karmaşık ORM ilişkileri kolları hiçbir çerçeve gördüm! Karmaşık sorguları (örneğin ters ilişki sorgular) kullanmada oldukça hızlı da var - Herhangi bir çerçevede performans verimli yazmak için Coder yeteneğini büyük ölçüde bağlıdır rağmen.

Eğer bir CMS inşa ediyorsanız, o zaman MVC yetenekleri için Zend veya Symfony isteyeceksiniz. QCubed / codo sözde MVC dayanır, ama o kadar açıkça Zend olarak ortaya koydu görünmüyor. QCodo da veritabanı yapısını değiştirerek asla BAĞLIDIR - Bir yönetebilirsiniz, ama bir zamanlar bir site başlatıldı DB tabloya yeni alanlar eklemek için gerçek bir ağrı var her tablo için otomatik gens özel sınıflar çünkü.

Gerçekten iyi belgeleri vardı ve kullanımı kolay olan bir üne sahiptir, çünkü ben esas CodeIgniter'ı kullanın. Ayrıca, Rasmus bu kuşkusuz bir topal nedeni olan, onun favori olduğunu, ama ben hiçbir şikayetleri yaşadım dedi.

Bu kayalar, Symfony göz ardı etmeyin. Ben onun en büyük gücünü, her düzeyde tutarlı bir "en iyi uygulama ile gitmek" yaklaşımı, canlı bir topluluk ve mükemmel belgeler olduğunu söyleyebilirim.

I; QCubed, QCodo halefi kullanıyorum. Onun sadece bir Açık Kaynak PHP çerçevesinde alabilirsiniz iyi. O iş yapmak için nasıl biliyorsanız oldukça hızlı. Sadece olumsuz belgeleri eksik olmasıdır. Bununla birlikte, örnekler yer büyüktür. Bunu kullanarak başlayın ve ben barış bir sürü var bahse! :)