Zend_Tool çıktı özelleştirmek için nasıl?

2 Cevap php

Benim proje ile Zend_Tool (ZF 1.9) kullanmak istiyorum, ama yeni dosyaları varsayılan çıktı özelleştirmek mümkün olmak istiyorum. Örneğin, tüm Kontrolörleri belirli bir başlık ekstra bir adım olarak bu eklemek zorunda beni önlemek için phpdoc biçimlendirme ve lisans bilgileri ile çıkışa önceden pended olmalıdır.

Ayrıca, bu özel proje için (but not all other projects), ben bazı özel işlevler için bu artırdık olarak varsayılan Zend denetleyicisi başka bir şey uzatmak kontrolörleri gerekir.

Belgeler, bu şeyleri yapmak için yeteneği ima, ama bu çok net yapmaz.

Ben (*** nix tabanlı sistemlerde) bir ~ /. Zf dizini kurmak ve orada özel sağlayıcıları içerebilir ne söyleyebilirim. Tek bir proje kapsamı ile sınırlı aksine Ancak, bu makine-genişliğinde olacak. Ayrıca, bu da (görünüşte) me existing sağlayıcıları işlevselliğini özelleştirmek için izin vermez yeni sağlayıcıları eklemek olurken.

Herhangi bir yardım büyük mutluluk duyacağız!

2 Cevap

Jacob de başlamıştı aslında ne: ne konuşuyorsun basit sınıf uzanan gibi görünüyor. Zend Framework burada uzanan için gerçekten çok basit slayt tanıtım var:

http://www.slideshare.net/PHPBelgium/extending-zend-framework-presentation

Zend Framework uzatılması için çevrimiçi mevcut diğer birçok kaynak vardır. Size farklı projeler için ayrı bir kaynak ağaçlar oluşturabilir ve çeşitli projelere ortak işlevselliği ortak klasörlerde soyut sınıflar eklenebilir. Böyle bir şey yaygın değildir, ama ben bu durumlarda bu tür çalışır bulduk:

class My_Component_HelloProvider extends My_Common_Component_HelloProvider
{
    public function say()
    {
        echo 'Hello from my provider!';
    }

    // public function do() is inherited

}

class My_Common_Component_HelloProvider
    implements Zend_Tool_Framework_Provider_Interface
{
    public function do()
    {
        // do something
    }
}

Bu yapmak için çalışıyoruz ne farklı olup olmadığını bana bildirin, ama ZF tek bir örneği birden applcation uzantıları inşa edemez hiçbir neden yok.

Bu doğal olarak size özel sınıflar tanımladığınızda geçersiz devam edebilirsiniz. Bunun yerine ZF sınıf değil, sizin sınıfa dayalı olması onları bildirebilirsiniz.

Belirli projeler için, ZF özel bir versiyonu ya da muhtemelen özel bir geçersiz klasör olması için sınıf yolunu değiştirebilirsiniz. Özel bir klasör ile daha sonra bir değişiklik makine geniş değildir, ama zend framework olduğunu ne. *** nix tabanlı sistemlerde, sen ZF bir kopyasını kendinize tutmak için sembolik bağlantılar kullanabiliyorlar.

Eğer lisans başlıklarını ve PHPDoc eklemek için kaynak kodunu değiştirmek için çalışıyorsunuz? Eğer öyleyse, ne geçmişte yapmış ihtiyacınız olan bilgileri ekler basit bir yapı adım var edilir. Her dosya türü uygun başlık bilgilere sahip olabilir. Dosyaları göz ardı ya da sadece denetleyicileri çalıştırmak için sistemi anlatmak için güzel bir etikete sahip olabilir.

Good Luck, Jacob