Ben bir çerçeve kullanın veya kendi MVC yazmak mı?

7 Cevap php

Ben her yerde şu anda bir proje var ve ben bu MVC yapmayı düşünüyorum.

Ayrıca ben kendimi böyle şifre oluşturma, giriş ve kullanıcı seviyeleri olarak ele gereken bazı şeyler vardır: Sorun sistemi şu anda kullanılıyor ve ben (ler Bu çerçeveler içinde bulunuyor) arayüzünü değiştirmek edemezler.

Ben zaten MVC aşağı modeli tarafı var bu yüzden ben merak ediyorum sadece bu soruna kendi Görünüm ve Kontrolörleri kod Zend Framework veya CakePHP gibi bir çerçeve kullanarak veya değer mi?

Ben yavaş yavaş bu çalışmak zorunda gidiyorum ve ben bunu yapmak mümkün olacak eğer ben emin değilim ben hazır çerçeveler birini kullanıyorsanız.

7 Cevap

Normalde ben dehşet içinde geri tepme ve dünyaya başka bir web MVC çerçevesi getirerek karşı tavsiye, ama bizim dan Joel ve Jeff konuda başka bir görüş var unutmayın adil olacaktır:

From Joel: In Defense of Reinventing the Wheel From Jeff: Don't Reinvent the Wheel

Son bir düşünce: Bir tek kişi bir proje ise, o zaman sadece bu seçimi kendinizi etkiler. Uzun ömürlü bir ürün geliştirirken bir takım yer aldı eğer benim kadar dayanıklılık başak olacaktır. Kendi rulo eğer ekibi ve müşteriye bir kötülük yapabilir.

Geçerli "ayın lezzet" Mach-II horrendously yavaş çünkü ben Coldfusion için kendi MVC framework yazdı. Açıldıktan sonra, benim sayfa oluşturma süresi 9 milisaniye aşağı 2-5 saniye düştü.

Son 3 yılda ben kullandım herhangi bir ticari veya açık kaynak çerçeve için bir rakip haline bu çerçeve geliştirdik (ve ben epeyce kullandım) (fonksiyon kütüphaneleri ve ortak görevleri bir dizi için bileşenleri kurarak CMS, CC işleme, görüntü işleme, vb.)

Şüphesiz bazı "yeniden icat tekerlek" olmasına rağmen ben ile sona tekerlek işimi yapmak gerekir tam olarak ne oldu. Ben hiçbir belge hiç sağlayabilir bir samimiyet ile nasıl çalıştığını anlamak.

Açıkçası ama - - Tabii ki, bir gün gelecekteki bazı programcı sevdikleri kütüphanesi kullanılarak için bana bir çiçeği isteyen benim kod üzerinde küfür olabilir ben sadece daha az bakım olabilir. Ben benim için yazdı, ben ne gerek yapar ve iyi yapar. Ben de bu süreçte çok şey öğrendim.

Eğer otomatik olarak kendi çerçevesi yazarak Müşterileriniz / co-işçilere bir kötülük yapıyor DEĞİLDİR söyledikten sonra. Kamu çerçeveler herkes mutlu tutmak için çalışıyor kitlesel kabartmak eğilimindedir hiçbir gerçek yönü var eğilimindedir. Bu kabartmak öğrenmek için daha önemli, daha o yanlış gidebilir. Sizin çerçeve gereksinimleri çok daha küçük bir dizi toplantı ve iyi bir dokümantasyon ile olacak bir daha kurulmuş kamu birden çok anlamak daha kolay ve kurulum olabilir.

Ben, bunun için gitmek kenarında küçük bir canlı demek. Belki 5 yıl içinde bir sonraki "Mach-II" veya ne olursa olsun serbest edeceğiz ve biz bu konuda tüm orospu yapabilirsiniz.

Oldukça "istilacı" olarak özellikle CakePHP'ye bulabilirsiniz. IMHO bunun için hafif bir çerçeve kullanmak veya kendi yazmak gerekir. Ben normalde bu tür bir şey için kendi yazma tavsiye etmiyoruz, ancak yazılım ile uğraşırken bazen en iyi çözüm olabilir değiştiremezsiniz. Ayrıca, PHP bir denetleyici bazen sizin mevcut kısıtlamaları için çok ağır ya da sadece iyi bir uyum ya da olan bir prefabrik çözümü kullanırsanız gereksiz çözümü overcomplicating sona böylece yazmak zor bir şey değildir.

Hafif MVC çerçeveler için tavsiye ederim CodeIgniter.

Tekerlek yeniden icat kötü. Eğer değil gerçekten, gerçekten özel bir nedeniniz yoksa Zend Framework gibi denenmiş ve test edilmiş çerçeve kullanın.

Bu sizin görev bağlıdır. Bazı önemsiz görevler zaten exellent çözümler var, ama bazen hataları düzeltmek için ya da kendi bir yazmak daha ihtiyaçlarınız için bir çözüm sığdırmak zordur.

Eğer bir çerçeve kullanmaya başladığınızda Neyse - Bunu öğrenmek için biraz zaman harcamak zorunda. Ve bazen yazma öğrenme daha hızlıdır.

Sadece ihtiyacınız çözümleri hakkında google Bazı olgun bulmak, onların işlevsellik bakmak, açık hata okumak ve bunu kullanmak istiyorsanız karar verin. Ben detailted görev olmadan söyleyebilirim hepsi bu.

Ayrıca ben kendimi böyle şifre oluşturma, giriş ve kullanıcı seviyeleri olarak ele gereken bazı şeyler vardır: Sorun sistemi şu anda kullanılıyor ve ben (ler Bu çerçeveler içinde bulunuyor) arayüzünü değiştirmek edemezler.

Ben yavaş yavaş bu çalışmak zorunda gidiyorum ve ben bunu yapmak mümkün olacak eğer ben emin değilim ben hazır çerçeveler birini kullanıyorsanız.

Senin durumun ayrıntılarını bilmeden, ben sistemi şu anda çalışıyor olması bütünleştirmek için genel amaçlı bir MVC framework zor olacağını söyleyebilirim.

Birçok MVC çerçeveler tek başına varlıklar olarak kullanılabilir modüler bileşenlerden oluşan, o söyledikten sonra. Projenizde kullanmak için bu çerçevelerin belirli özelliklerini koparmak mümkün olabilir.

Kullanıcı doğrulama, oturum yönetimi ve şifre yönetimi bu alanda deneyim büyük bir anlaşma varsa, sadece sıfırdan inşa edilmesi gerektiğini özellikle bir alandır.

Developing a framework is not an easy task, by the way, you should code, test, patch, more test and develop new features constantly. So if you aren't going to make it open source, which will we a good idea for having a huge community of testers-developers, you should not think about reinventing the wheel. It's round, it spins well, so choose the best one that fits your needs and take profit of some months of coding and testing of the community.

En içten dileklerimle