2009-08-09 10 views
9

私のプロジェクトでZend_Tool(ZF 1.9)を使用したいと思いますが、私は新しいファイルのデフォルト出力をカスタマイズできます。例えば、すべてのコントローラは、これを追加ステップとして追加するのを避けるために、出力に先行する特定のヘッダーをphpdocマークアップとライセンス情報で設定する必要があります。Zend_Toolの出力をカスタマイズするには?

(他のすべてのプロジェクトではありません)私はコントローラをデフォルトのZendコントローラ以外のものに拡張する必要がありますが、これは特定の機能を拡張したものです。

ドキュメントには、これらのことを行う能力が記載されていますが、それはあまり明確ではありません。

私は、〜/ .zfディレクトリ(*** nixベースのシステム上)を設定してそこにカスタムプロバイダを含めることができます。しかし、これは、単一のプロジェクトスコープに限定されているのではなく、機械全体である。また、これは新しいプロバイダを追加しますが、の既存のプロバイダの機能をカスタマイズすることはできません(一見)。

ここにお手伝いいただければ幸いです。

答えて

0

特定のクラスを定義するときに自然に上書きを続けることができます。クラスをZFクラスではなくクラスに基づいて宣言できます。

特定のプロジェクトでは、クラスパスをZFのカスタムバージョンに変更したり、カスタムオーバーライドフォルダを持つことができます。カスタムフォルダでは、変更はマシン全体ではなく、どちらもあなたのzendフレームワークではありません。 *** nixベースのシステムでは、シンボリックリンクを活用して、ZFの1つのコピーに自分自身を保つことができます。

ライセンスヘッダーとPHPdocを含めるようにソースコードを変更しようとしていますか?もしそうなら、私が過去にしたことは、あなたが必要とする情報を加える簡単な構築ステップを持つことです。各ファイルタイプには、適切なヘッダー情報を含めることができます。システムがファイルを無視するか、コントローラでのみ実行するようにするために、いいタグを付けることができます。

グッドラック、 ヤコブ

1

基本的にヤコブができたもの:何を話していると、拡張単純なクラスのように思えます。また、Zend Frameworkのを拡張するためにオンラインで利用可能その他のリソースがたくさんあります

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

:ここにZend Frameworkのを拡張するには本当にシンプルなスライドショーの導入があります。異なるプロジェクト用に別々のソースツリーを作成し、共通のフォルダにある抽象クラスにさまざまなプロジェクトに共通する機能を追加することができます。このような何かは一般的ではありませんが、私はそれは状況のそれらの種類で動作することがわかりました:

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 
    } 
} 

が、これはあなたが何をしようとして異なっている場合、私に教えてください、しかし、あなたがすることができない理由はありませんZFの1つのインスタンスから複数のアプリケーション拡張をビルドしないでください。

関連する問題