Şimdi PHP gibi ama sonuçta, her şeyden önce, bir çiftleşmiş bir dil değil, genel amaçlı bir programlama dili nor an object-oriented language olduğunu. Onunla mücadele etmeyin. Onu kucaklama.
Ben Symfony, CakePHP ve Zend gibi birkaç farklı MVC çerçeveler baktım ve ben örnekler geçmiş almak zor bir zaman var. Genellikle onlar "bu 17 dosya ile bir 'Merhaba dünya" programı yapabilirsiniz! "Vardır Huh?!?!
Orada bunun uğruna ve bir sorun varsa, önce bir sorunu çözmek için karmaşıklığı gibi bir şey ve ben bu ağır (onlar are ağır) çerçeveler gerçekten değer katan ikna henüz değilim.
Ben 'no framework' framework bir fan daha var. Bu gerçekten 'kendi rulo' ama ben leanest, temiz sonuç yol açtığını düşünüyorum.
Ben Smarty ile ilgili benzer hissediyorum. Üzerinde bir sürü insan SO Smarty büyük taraftar ama sen ... çiftleşmiş diline bir çiftleşmiş dil eklemek istiyorum neden bana mantıklı gelmedi.
Sonuçta ben PHP script bu tür yazı sonunda çoğu zaman
<?
require 'config.h'; // set up constants, DB connections and so on
page_header('My Page'); // page header, site menu and so on
deny_unregistered(); // security
if (/* user submitted page */) {
$valid = validate_form(/* validation rules */);
if ($valid === true) {
// do db changes
// redirect user ie POST+REDIRECT+GET
} else {
// output error messages
}
}
?>
// display page
<? page_footer(); ?>
Yardımcı fonksiyonlar (örneğin sayfalama bağlantılar) akıllıca kullanımı ile, yukarıdaki inanılmaz okunması ve hata ayıklama kolaydır. Ben ayrıca çok bu model için tercih:
URL:? / Index.php inc = filan
index.php:
<?
require "$inc.php"; // hopefully you sanitize this but so many don't
?>
Ben bu çirkin buluyorum, hata eğilimli ve hatta tehlikeli. Her sayfa bir PHP komut dosyası olduğu (bakış, bir menü noktasına gelen) site yapısını yansıtan PHP dosyalarının bir hiyerarşi var. Ortak davranış varsa, her ikisi de (genellikle kötü organizasyon için bir hack olarak kullanıldığı, not require_once a>) bunu gerektirir.
Basit, kolay, anlaşılır, basit.
Bu herhangi bir ihtiyaç gerçekten hiç yoktur önce programcılar bir çok karışımı bir çerçeve içine atmak olacak gibi görünüyor. Bugün yapılan her karar daha sonra bu yüzden mümkün olduğunca uzun süre bu gibi kararları ertelemeye değiştirmek zorlaşır biridir: Ben bu oldukça tembel bir uygulama ve büyük bir maliyet olduğunu düşünüyorum. Daha sonra bir şey tanıtan, şimdi bir şey tanıtan gerçekten ne istediğinizi yapmaz bulmak ve daha sonra bunu değiştirmek daha kolaydır.