導入Zend_CodeGeneratorは、 新しいコードを作成するばかりではなく、既存のコードを更新するためにも、 オブジェクト指向インターフェースを用いた任意のコードを生成する機能を提供します。 現在の実装はPHPコードを生成することに限られますが、 他の仕事のためのコード生成をさせるために基底クラスを簡単に拡張することができます: JavaScript、設定ファイル、apache vhosts、その他。 Theory of Operation最も代表的な使用例では、単にコード・ジェネレーター・クラスのインスタンスを生成して、 それに適切な設定を渡すか、またはインスタンス化のあと設定します。 コードを生成するために、単にオブジェクトをechoするか、 その generate()メソッドを呼びます。
上記のサンプルは両方とも同じ結果でレンダリングされます:
もう一つの一般的な使用例は、既存のコードを更新することです。 たとえばメソッドをクラスに加えるために。 この場合には、最初にreflectionを用いて既存のコードを調べて、 次に新しいメソッドを加えなければいけません。 Zend_Reflectionを導入することによって、 Zend_CodeGeneratorはつまらないほどこれを単純にします。 例えば、上記をファイル"World.php"に保存して、すでにincludeしたとしましょう。 それから下記のようにできます。
クラスファイルの結果はこのようになります:
|