Symfony ve CakePHP kullanılabilir için çok yavaş?

4 Cevap php

Şimdiye kadar, hep CakePHP çok şişirilmiş ve yavaş olduğunu söyledi. Gerçekten ben sadece "bazı" kriterler gördüm, bilmiyorum. Ben gerçekten bilmek istiyorum, ne olduğunu bu iki çerçeveler (Symfony ve CakePHP) Kullanıcı sinirli alacak bir şekilde kullanılabilir olması için çok yavaş eğer. Ben zaten bu çerçeveler, diğer alternatiflere göre daha yavaş olduğunu biliyorum, ama bu bir soru değil.

Ben bir proje yönetimi web uygulaması oluşturmak istiyorum ve ben hala bir çift çerçeveler arasında tereddüt çünkü ben soru sormak. Ben bazı sorun Zend öğrenme yaşadım, ama imho ben yeterince denemedim.

Yani sonuç olarak, yukarıda birinci soruya ek olarak, ben başka bir soru sormak istiyorum:

Ben (oldukça büyük bir proje) bir proje yönetim aracı, aşağıdakilerden size önermek gerekir oluşturmak istiyorsanız, developement süreyi göz önünde bulundurarak, sonuçlanan uygulama hızı ve nihai ürünün sağlamlığı:

  • Symfony
  • CakePHP
  • Zend Framework

Ayrıca ben bu çerçevelerin herhangi bilmiyorum söz, ve ben onlardan biri (en azından) öğrenmek istediğiniz gerekir.

4 Cevap

Kriterler ile sorun, normalde gerçek dünyaya kendilerini borç kalmamasıdır. Gerçek bir uygulama yazmak ve bunu hız söz konusu olduğunda tüm çerçeveler birbirinden büyüklükte bir sipariş hakkında içinde olduğunu görürsünüz. Ve hepsi bir çerçeve kullanmak (ve program nasıl biliyor) olmasaydı daha yavaştır.

Ancak, ne bakmak gerekir takas yöntemidir. Altyapıları önemli ölçüde geliştirme süresini azaltmak için yeteneği için biraz performans feda. Ne çiğ katkısız performans ya da makul hızla geliştirme zamanı, sizin için daha önemli? Facebook kendi sitesi için bir RAD çerçeve kullanmak istemem, ama onlara performans eklenen geliştirme süresi daha değerlidir çünkü. Aynı şekilde, tek bir geliştirici ile küçük bir şirket oldukça küçük bir performans hit daha bir çerçevede daha fazla istifade etmek olasıdır (her sayfa görünümünde etkisi minimal olduğu için, küçük söyleyebilirim. Etkisi yüksek trafik ile "ekler").

Ben öneririm, ne çerçeveler bir demet aracılığıyla bir bakmak. (Çoğu bir "blog" öğretici var) bunları deneyin. Nasıl çalışır için bir fikir alın. Sizin gibi birini seçmek ve sonra bir süre onunla oynayın. Onun kodlama stili, ve nasıl şeyler yapmak seviyor öğrenin ... En önemlisi, bu işlevleri nasıl öğrenirler. "Neden" ayrıntılar arkasında öğrenmek için çalışın. Bir çerçeve kullanma yeteneği IMHO doğrudan olduğunuz sürece kullanarak rahatsız olduğunu şey kullanmak değil ... bu nasıl çalıştığını anlamak için bağlı olduğunu. Sana "uyar", ve sonra akıcı kadar sopa ile bir ara ...

Daha hızlı ve kolaylıkla anlaşılabilir çünkü cakePHP v1.3 öneririz. You will find very good help (documentation and tutorials) related to this framework. documentation is well written. Eğer bir yerde sıkışmış bile stackoverflow veya CakePHP'de google grup ya da google üzerinde arama yaparak bir çözüm bulmak mümkün olacak.

CakePHP (1.2 ve 1.3) her iki sürümlerinde çalıştı ve ben de (ben çok iyi benim seviyesini denedim ama düzenlerinin uygulamaya geldiğinde çerçevesinde saplanıp) Zend çerçeve bir elini denedim.

Ama CakePHP'de üzerine bir yıl daha geçirdikten sonra ben çalışmak için iyi bir çerçeve olduğunu söylemekten gurur duyuyorum.

Altyapıları genellikle daha iyi kod organizasyonu, bileşenlerin yeniden kullanılabilirliği, test edilebilirlik ve genelleme, uygulama kalitesi & hedefliyor maintenability. Bu daha fazla performans odaklı bir seçim olamaz.

Ben siteleri kriterler orijinal statik HTML şablonu yakın geliyor, oldukça hızlı olduğu symfony ile çalışan var.

HTML statik bir sayfa içine spagetti kod koyarak zaman daha bir çerçeve (ve Doktrin gibi bir ORM) kullanırken performans sorunu daha hızlı olabilirdi. Bu benim için normal bir ses var: vb daha treatements, daha doğrulamalar, mod bağımlılıkları, ayrıştırmak için daha fazla kod,

Eğer uygulama daha hızlı yapmak için Mant, onlar yolları temelde konum:

  1. Hızlı donanım alın, maliyeti, ama bu maliyet programcıları altında ve eğer değer olabilir mühendisler genellikle durumda ki, maliyet.
  2. Opcode, veritabanı sorgu sonuçları, ağır nesneler, html render (kısmi ve tam): Yazılım optimize, bu şekilde büyük adım birden düzeyinde önbelleğe kullanmaktır.

Iyi tasarlanmış bir MVC uygulaması ile izleme uygulamanın darboğazlar profiler kullanarak, izole bir sorun olarak performansını yönetmek ve onları tek tek (bir kez daha, optimizasyon çok donanım tarafında olabilir) tedavi edebilir.

Bir PHP çerçevesinde seçim çeşitli performans testlerine yapılmamalıdır bloglar arcticles üzerine seens, bunlar objektif olamaz. Benim bakış itibaren, tüm büyük MVC çerçeveler performanslısı web siteleri oluşturmak için kullanılan olabilir, bu optimizasyonu tüm meselesi.

Sizin ve ekibinizin daha iyi Symfony, CakePHP veya Zend Eğer biliniyorsa, o zaman ne duruyorsunuz. Uygulama functionnal olduğunu bir kez performans optimizasyonu hallederim, herhangi çerçeveler için çözümler vardır.

Takım deneyimi çok geniş ve herkesin kendi tercihi varsa, o zaman ben onun personnaly önbelleğe alma kapasitesi dahili çerçeve ile (ben diğerleri için bilmiyorum) geliyor gibi, Symfony öneririm

Eğer iyi bir veri önbelleğe alma stratejisi var ve kod çok outrageously aptal şey yapmıyoruz olun vb Veritabanı, Dosya Sistemi, ve o kazandı '- yavaş parçaları her zaman I / O olacak çünkü farklılıklar önemsiz olacak Önemli.