CodeIgniter büyük uygulamalar için akıllıca bir seçim mi?

2 Cevap php

Ben büyük CodeIgniter bir gelişme açısından nasıl okumaya devam. Ve ben çerçevesini kullanarak geliştirme süreci daha hızlı hale getirecek eminim. Ama kendimi sormak soru ihtiyaçlarınıza hitap ayrı ayrı yapılmış çerçeve, bir fark olacak mı?

Temelde (daha sonra C çerçevesi olarak PHP atıfta) bir çerçeve üzerinde bir çerçeve çünkü CI, reklamı küçük ayak izi rağmen, sistem aşağı "bataklık" olacak mı? Yükü yaymak için iyi bir yolu var mı? CI ile yapılmış vahşi herhangi bir büyük uygulama var mı?

Thanks Casper.

2 Cevap

Ben yaklaşık 11K dosyaları ile bir CodeIgniter siteyi koşuyorum.

Ben ağır benim ihtiyaçları için CodeIgniter'ın temel yapısını modifiye ettik. Örneğin ben aynı sistem dosyalarını kullanarak 3 ön kontrolörleri ile 3 uygulamalar var. Benim çiftleşmiş motoru olarak smarty kullanıyorum. Jquery ve prototip / scriptaculous tarafından desteklenmektedir zengin php web uygulamaları var. Ben, vb form doğrulama, kimlik doğrulama, aktif kayıt, e-posta, vb kullanabilirsiniz

Benim deneyim şimdiye kadar çok olumlu olmuştur.

Kez olsun smarty gibi (gerçek) çiftleşmiş motoru size büyük siteler için orta için ihtiyaç duyacağınız tüm gücü var codeigiter tapa içine.

Bu tür davranışlar bekler CodeIgniter'daki 'controller' bir yapı olarak büyük 'MetaGroups' için sitenizi düzenleme hakkında düşünmek zorunda. ('Bloglar', 'mal', 'forumlar', vb.)

CI için eklentileri eklemek çok kolaydır.

Çerçeve, aksi takdirde el kodu gerekir bok sürü kolaylaştırır. Bu, hızlı, basit ve yapılandırılabilir var.

CI ile Benim bir büyük şikayeti şimdiye kadar çok çoklu uygulama farkında değil olmasıdır. Varsayılan düzeni 1 uygulamayı çalıştıran varsayar. Benim durumumda, çalışan tüm uygulamaları içine çekilebilir küresel dosyası ile küresel bir uygulama var. Bununla birlikte, bu daha hassas bir şekilde çözülebilir. Ayrıca sen ön denetleyicileri arasında geçiş yapmak için biraz ekstra kabartmak eklemek zorunda.

CI benim en sevdiğim yönü bir MySQL db üzerinde aktif kaydın kolaydır. Bu DB bağlantı kurmak ve aktif kaydı sorguları çalışan almak için ölü basit.

Ben başlamak için oldukça kolay olduğunu söyleyebilirim. Sadece çevresinde alışveriş ve app içine smarty takmak için nasıl anlamaya emin olun. Sen default 'görünümü en CodeIgniter kullanımı CAN, ancak şablonları if / else mantığı ihtiyaç dakika size mahvolduk.

Ben bir 'şablon' ve ben sırasıyla smarty şablonları ve statik içerik ile doldurmak, her app bir 'içerik' alanı kurmak. Gerisi bir DB bağlantısı indirebiliriz.

Bu gerçekten sadece cevap verebilir bir sorudur. Eğer bir "büyük sistem" söz ederken, sen (sayfa görünümleri / vs ile) büyük ölçüde kullanılan bir şey demek, ya da büyük bir iş kurallar kümesi, ama sadece birkaç kişi tarafından kullanılan kapsar şey olabilir. Uygulama hızlı olması gerekir mi, yoksa birden fazla sunucu üzerinde onu dengelemek yükleyebilirsiniz?

Yorumunuz IMO, oldukça ayarsız "PHP C bir çerçevedir." Hayır, PHP hızlı C gibi değil Ama bu web isteklerini işleme de bir LOT daha iyi. PHP dünyanın en büyük bazı sitelerin kullanılır - Facebook başlangıçta PHP tamamen yazılmıştır. Yahoo PHP biraz kullanır. Yani PHP, özellikle veritabanı hemen hemen her zaman darboğaz olacağını düşünüyor, hemen herkes için yeterince hızlı. PHP uygulamaları yavaşlatan ise, ağınız üzerinde daha fazla uygulama sunucuları koymak / memcache / yük dengeleyici kullanabilirsiniz. Şeyler PHP ucunu büyütmek için oldukça kolay.

Sana ne söyleyebilirim diğer çerçeveler ile kısa bir karşılaştırma. Ben çoğunlukla diğer insanlara yardım, sınırlı dağıtımlarında CI kullandım, ama ne gördük, ben sevdim ettik. Size CakePHP gibi bir şey üzerinde bir hız-in-zamanında bir avantaj sağlıyor, ama (Cake en büyük gücü hızla geliştirmek ve dağıtmak için yeteneğidir gibi) geliştirme süresini artıracaktır. Hız-bilge hala sadece ham PHP kendinizi yazarken daha yaklaşık 5-7x daha yavaş olan, Zend veya Symfony'de oldukça benzer hissediyor.

Çeşitli çerçeveler (: Aşağıda benim düşüncem NB) Özetle:

  • CakePHP hızlı gelişimi için mükemmeldir. Bu (yakında!) 1.3 sürümü size ücretsiz (API herhangi bir değişiklik, sadece PHP4 desteğini kopariyoruz)% 25 hız destek almak gerekiyordu, ancak performans, büyük çerçevelerin kötüsü var. Bu ActiveRecord odaklanmış, ve bir tam özellikli sitesi ve (ciddi ciddi Hızlı Geliştirme / pirzola Prototip) çalışan almak için süper hızlı oluyor.
  • Zend en yaygın olarak kullanılmaktadır. Onun eklenti modülleri ile en esnekliğe sahiptir. Özellikle hafif değil rağmen, süper hızlı. Bir kurumsal proje için, bu bir veya symfony ile gitmek istiyorum. Benim için bir buncha farklı kitaplık kullanılarak gibi hissediyor. Ve onların adlandırmasında biraz zahmetli vardır ...
  • Symfony - Zend yorumlara bakınız. Symfony daha enterprisey olması gerekiyordu rağmen.
  • CodeIgnitor blokta yeni sıcak evlat. Onun hala işinizi daha hızlı yapmanıza yardımcı olacak bir araç, yani bir "çerçeve" olurken yolumdan kalan odaklanmıştır. Bu çalıştırmak için hızlı, ama geliştirmek için biraz daha yavaş.