2011-02-02 9 views
0

現在、私の現在のプロジェクトVMMにZend Frameworkを統合しています。 私はZend FrameworkディレクトリをEclipseのVMMプロジェクトの横にスタンドアロンプ​​ロジェクトとして置くことに決めました。 私はzendフレームワークのいくつかのカスタマイズを行う必要があります(たとえば、Irradiance.phpをMeasureに追加する必要があります)。私はすべてのカスタマイズを置くのに最適な場所を知りたいと思います。Zend Frameworkをフォルダ構成の観点からどのように拡張する必要がありますか?

私はZend Framework命名規則と同じディレクトリ構造に従う必要があることを知っています。 たとえば、Irradiance.phpにはMylib_Measure_Irradianceクラスが含まれています。

私はZendFramework/library/MylibにZendフォルダの隣にMylibフォルダを置くことを考えていました。

Zend Frameworkを拡張してカスタマイズするのは通常の方法ですか? もしそうでなければ、私のカスタマイズをVMMプロジェクト内に置くべきですか、それとも他のスタンドアロンプ​​ロジェクトですか?

ありがとうございます!


UPDATE

このquestionが私を助けたが、私はまだいくつかの助けが必要...

答えて

2

あなたはZFをアップグレードするときに、新しいZFにそれらをすべてコピーしなければならないので、私は自分のライブラリスタイルのファイルをZFフォルダに入れない傾向があります。そのプロジェクトのための私はlocalhostで

私はこの

私のプロジェクトのようなもの、私が働いているプロジェクトであり、含まれているすべてのモデル、ビュー、コントローラ、などを持っている

/htdocs/my-project/application 
/htdocs/my-project/public 

ライブラリが私です独自のライブラリファイルと模倣ZF構造

/htdocs/library/Db/ 
/htdocs/library/Validate/ 
私はその後、 /usr/lib/php/ZendFramework-x.xx.xこのフォルダには、最新のZFが含まれている中で私の現在のZFを持っており、チャンすることができ

プロジェクトや図書館のコードベースを変更することなく簡単に編集できます。

編集:「ポインタ」について

Davidのコメントを思い出し、私はいつもZendLatestと呼ばれる/usr/lib/php/でSYMのリンクを設定し、これはZFの最新のコピーを指し、これは私が変化し続ける必要はありません意味します私のコードか私のphp.ini。

+3

確かに。私はライブラリ(特に外部ライブラリ)を手触りの悪いものとして扱いがちです。それらを含めるには、それらを使用しますが、@ jakenobleの注釈の理由から、それらの中の何かを変更しないでください。例えば、ライブラリのローカルコピーを維持するもう1つの方法は、典型的にはタグ付きバージョンを指す 'svn:externals'で管理することです。新しいバージョンへの更新は、 'svn:externals'プロパティのポインタを変更するだけの簡単な作業になります。 –