EZコンポーネント2008.1リリース

本日、リリース候補の導入後、 eZ Components 2008.1の公式リリースがリリースされました 。 変更ログの再話はせず、eZ Componentsの簡単な紹介を試みます。



そのため、eZ Componentsは、PHP 5で記述された高品質のオブジェクト指向Webフレームワークであり、 New BSD Licenseの下で配布されています。 彼についてはすでにHabréで書いています。 説明されているバージョンにはPHP> = 5.2.1が必要です



独自のMVC実装を提供するフレームワークとは異なり、ezcはそれを開発者に任せます。 良くも悪くも、これは難しい質問ですが、私はこのアプローチが好きです。 一般的に、ezcはかなり民主的なフレームワークであり、必要なものだけを自然に使用できると言わなければなりません。



考えられるすべてのフレームワーク(抽象データベースレイヤー、検索、メールとRSSの処理)に存在するモジュールに加えて、非常に興味深いコンポーネントがあります。 たとえば、プロット:



ImageShack.usがホストする画像



その結果、次のグラフが生成されます。







さまざまな画像変換のための興味深いコンポーネントもあります。 実際のプロジェクトの例を次に示します:任意のタイプ(jpeg、gif、png)のグラフィックファイルのリストを処理し、jpegの各アイテムリストのサムネイル、jpegの製品カードのサムネイルを作成し、ソースファイルのソースファイルをjpegに変換する必要があります。 基本的な考え方は、最初にコンバーターを作成し、名前付き変換を準備することです。



ImageShack.usがホストする画像



どこでも使用できるコンバーターオブジェクトを取得しました。 原則として、同じプロジェクト内で同じタイプの変換が使用されます。 createTransformation()メソッドの2番目のパラメーターフィルターの配列であることに注意してください。 この例では、変換ごとに1つのフィルターを使用しましたが、一般に、フィルターの数は任意です。 たとえば、変換の2番目のフィルターとして、組織のロゴを含む透かしオーバーレイを追加できます。



そのため、コンバーターが作成され、カプセル化された変換を名前で呼び出すことができます。



ImageShack.usがホストする画像



変換を変更する場合、たとえば同じ「透かし」を追加する場合、またはターゲット画像のサイズや品質を変更する場合は、コンバーターを異なるように構成するだけでよく、ループ内のコードを変更する必要はありません。 サイクルでは、通常、最小限のアクションが行われ、それ以外はすべて実行されます。



残りのコンポーネントはリストしませんが、かなりの数があります。 ドキュメントを読んで、誰もが自分にとって興味深いものを見つけると思います。



次に、これらすべてのグッズの使用を開始する方法について少し説明します。 まず、ezcを入手してインストールする必要があります。 これについては、インストールガイドで詳しく説明しています。 pearを介してインストールされたバージョンとダウンロードバージョンは大幅に異なることに注意してください。 ダウンロード可能なものには、コードに加えて、サポート文書(グラフィックス内のテストおよびUML図を含む、それ自体が尊重されます)が含まれています。 Pearバージョンには作業コードのみが含まれ、重量は7.7 Mbのみです。



もちろん、誰かが8 Mbが多いと言うでしょう。 おそらく。 しかし、使用されていないのはFSにあり、彼らが言うように、「パンを要求しません」。 このサイズが本当に気になる場合は、必要なコンポーネントのみをインストールできます。 私は完全な梨のインストールを使用しています。



必要な配布が必要な場所になったら、__autoload()関数を準備する必要があります(これが必要な理由と、必要かどうかは別の質問です)。 ezcのファイル命名スキームは、たとえばZend Frameworkとは異なり、かなり複雑で不透明です。 したがって、__ autoload()の利便性が必要な場合は、ezc Baseの標準メソッドを使用する必要があります。 大まかに言えば、他の方法はありません(ファイル名は、 'class' => 'file_name'という形式の十分に大きな配列から取得されます)。



これが実際のプロジェクトの例です。 ここでは、ezcに加えて、Zend Frameworkが使用されます。 アプリケーション自体のファイルには、ZFスタイルで名前が付けられます。 クラスがezcの外にあることが簡単であることに注目してください(私はZFの命名スキームが今でも好きです)。 パスLIBRARY_PATHはINCLUDE_PATHに存在する必要があります:set_include_path(LIBRARY_PATH)。この例では、Zendとezcの2つのフォルダーがあります。



ImageShack.usがホストする画像



以上です。 みんなのビジネスロジックが増え、自転車の発明が減ることを願っています。



All Articles