1

zendフレームワークを使用してWebアプリを開発しています。すべての自動読み込みがどのように機能するかは気に入っていますが、Zend_Controllerがデフォルトでコントローラーに名前を付ける方法はあまり好きではありません。{$app}/Controller/User.phpに格納されているController_Userという名前のコントローラークラスをzend_controllerが理解できるようにする方法を探しています。とにかく、最小限の追加コードでこれを行うことができますか?

4

2 に答える 2

2

これは確かに段階的な答えではありませんが、標準のディスパッチャークラスをサブクラス化し、コントローラーディレクトリとコントローラーオブジェクトを処理する関数にいくつかの変更を加えることで、目的を達成できると思います。ZF参照ガイド-ディスパッチャーのサブクラス化

于 2008-12-18T17:27:42.287 に答える
0

サブクラス化されたディスパッチャー(http://cslai.coolsilon.com/2009/03/28/extending-zend-framework/から引用)

class Coolsilon_Controller_Dispatcher 
    extends Zend_Controller_Dispatcher_Standard { 
    public function __construct() { 
        parent::__construct(); 
    } 

    public function formatControllerName($unformatted) { 
        return sprintf( 
            'Controller_%s', ucfirst($this->_formatName($unformatted)) 
        ); 
    } 

    public function formatActionName($unformatted) { 
        $formatted = $this->_formatName($unformatted, true); 
        return strtolower(substr($formatted, 0, 1)) . substr($formatted, 1); 
    } 
} 
于 2009-03-30T07:52:13.833 に答える