0

Zendを使用してフォームやビューを動的にオーバーライドする方法は別ですが、関連していますか? .

クライアントがアプリケーション用のカスタム フォームを作成できるように、Web アプリケーション用の一連のデフォルト フォームをロードする前に、Zend がカスタム フォーム/ビューをロードしようとするようにします。

デフォルトの zend クラスの前に別のパスをロードするようにオートローダーをどのように設定しますか?

4

1 に答える 1

0

他の質問と同様に、ファクトリクラスを使用する必要があります。このクラスは、事前定義されたディレクトリで、新しいフォームまたはデフォルトのフォームの存在をチェックします。

あなたがする必要があるのは次のようなものだけです:

// $formname is the parameter passed to the factory class
$defaultclassname = "Default_Form_{$formname}";
$classname = "New_Form_{$formname}";
if(file_exists("/path/to/directory/of/new/{$formname}.php"))
    return new $classname();
else
    return new $defaultclassname();

これは、/ MyLib / Form/Form_Factory.phpのようなファクトリクラスで行われます。

そして、あなたのコントローラーで:

$form = MyLib_Form_Factory::createForm('user');
于 2010-08-02T15:20:09.150 に答える