Bu uzatmak ne kadar kolay / Zend Framework değiştirebilir?

6 Cevap php

Geçenlerde benim yaşındaki özel MVC framework sürüm 2 bina başladık. Bu projelerin bir dizi benim için çok çalıştı, ama ben kesinlikle iyileştirilmesi için oda görecek. Bazı büyük ACL gibi işlevleri, form doğrulama ve önbelleğe alma eksik. Her ne kadar ben bu parça kendim kurmak isterim, ben gerçekçi bir akıllı karar değil biliyorum. Yani, Zend Framework 1.9 bakarak başladım. Ben gerçekten bileşen kütüphanesi gevşek bağlanmıştır nasıl gibi. Ancak, farklı öğreticiler bakarak, çok ayrıntılı görünüyor. Ben kendi çerçevesi ile daha az kod kullanarak çoğaltmak olabilecek bazı örnek uygulamalar gördüm. Gibi, ben daha RAD dostu yapmak için bunun çok "yeniden tanımlamak" istiyorum. Ben çerçeve içine kazma zaman ayırıyorlar önce Yani, ben Birisi bana bu konuda biraz ışık parlayacak umuyordum. Ben kalbinde bir kodlayıcı değilim, ve (ben ZF umuyorum) sağlam bir temel varsa saat sonra hiçbir sorun harcama saat bir şey verdiği ve özelleştirme var.

Ben Doktrin ZF ile entegre edilebilir olduğunu görmek için çok mutluyum dikkat etmelisiniz.

ZF kolayca uzatılabilir değilse, (ayrıca ACL, form doğrulama, önbelleğe sahip) ne diğer çerçeveler vardır? Ben Symfony bakarak oldum, ama Kongre şey üzerinde bütün Yapılandırma beni çok rahatsız.

Herhangi bir giriş için şimdiden teşekkür ederiz.

Edit
To answer tharkun's question, what I mean by 'easily extendable' is that I can roll my own classes (that may or may not extend ZF classes) and package them in the framework so that I can easily build a foundation of code for my own projects.

6 Cevap

Popüler PHP çerçeveler arasında ZF kesinlikle en kolay genişletilmiş, özellikle çünkü gevşek bağlantının olanıdır.

Açıklamalar için teşekkürler.

Ne açıklamak ZF iyi olduğunu tam olarak ne olduğunu ama ben bu yüzden bu çöp için dava desteklemeyen bir OO çerçeve görüyorlar o cepten iyi olduğunu tam olarak ne de söyleyebilirim.

Her neyse. ZF sayesinde normalde ZF klasör yapısına paralel bir yapı içinde kendi kütüphanesi tutmak bir şekilde bitti. Sen ZF autoloader kullanımı ve ad ekleyerek otomatik yükleyici ile kitaplık klasörü kaydedebilirsiniz. Örnek:

//this will be the only require needed for your whole application
require_once 'Zend/Loader/Autoloader.php';
$loader = Zend_Loader_Autoloader::getInstance();
$loader->registerNamespace('Mylibrary_');

MyLibrary Eğer o ZF adlandırma kurallarına uymalıdır. Eğer Zend_Db_Table_Abstract Class uzatmak istiyorsanız söyleyin. Bu sınıf mantıksal Zend / Db / Tablo / Abstract.php altında yer almaktadır. Sizin kütüphanesi artık bu yapıyı çoğaltmak gerekir: MyLibrary / Db / Tablo / Abstract.php. Ve o dosyada sınıf adını olacaktır:

class Myproject_Db_Table_Abstract extends Zend_Db_Table_Abstract
{
    /*
    now you're ready to extend and override as much as you like.
    and as a bonus you'll not even hav to include your library files 
    since your library is registered with the loader
    */
}

Bu soruyu sorarken aklında başka bir şey var mıydı?

Mükemmel değil - Orada ZF statik üyeleri ve beton sınıfı bağımlılıkları kullanmak için bir eğilim olmuştur - ama bunların bazıları çerçevesinde sonraki sürümlerinde çözüme kavuşturuldu. Ben diğer benzer çerçeveler ile karşılaştırıldığında, ZF iyi yaptığını söyleyebilirim. Aslında gevşek kavrama muhtemelen çerçevenin büyük satış noktasıdır.

Zend Framework uzatmak için neredeyse hiçbir sorun.

Bu "myExtenions" wich çeşit işbirliği Zend Framework Kütüphanesi ile mevcut olan kurulum için yaygın bir uygulamadır. : Örnek olarak size bir göz atabilirsiniz

Zym Zend Framework Extension

Ana nokta kolayca arayüz kod olabilir. Eğer Zend_Acl_Resource uygulanması ile mutlu değil misin? Kendi kaynak sınıfı Zend_Acl_Resource_Interface uygulama yapmak :)

I have developed my own framework by extending ZF. And I can tell you that it can be easily done. You can use what you want, and replace what you dont want quite easily. Full ZF follows OOP to the core. They use best practices everywhere. I have learned a lot by observing its code.

Şahsen ben ZF gördüğüm en iyi php framework olduğunu düşünüyorum.

Şahsen Zend FW benim favorim. Bu eşek başladı. Dönemi. O da, bunu takdir edebilmek için kalbinde bir kodlayıcı olmak zorunda dedi. Bu oldukça soyut alabilirsiniz.

To answer your question; Zend FW is very extendable, everything - really everything - can be extended. Class naming convention is; class Zend_This_IsAn_Example is found in /library/Zend/This/IsAn/Example.php which you would extend as Whatever_This_IsAn_Example which you would put in /library/Whatever/This/IsAn/Example.php It also has autoloading that you can enable, so you won't have to require_once classfiles anymore.

mvc yapısı;

/application /application/controllers /application/etc /application/models /application/views /library /library/Zend /library/Custom /public

http://framework.zend.com/manual/en/introduction.html ve http://framework.zend.com/docs/quickstart Çıkış