Zend ルーターを使用してサブドメインを作成しようとしています。次に、subdomain.site.com/section/ などのサブドメインの下のセクションごとに別のルートを作成し、それをサブドメイン ルートにチェーンしようとしています。しかし、方法がわかりません。見つけたすべてのドキュメントとすべてのフォーラムを読みましたが、自分でそれを理解するようになりました。これまでのところ、私の試みはこのエラーを取得するだけです:
キャッチ可能な致命的なエラー: Zend_Controller_Router_Rewrite::addRoute() に渡される引数 2 は、インターフェイス Zend_Controller_Router_Route_Interface を実装する必要があります。null が指定され、/var/local/zend/library/Zend/Controller/Router/Rewrite.php の 155 行で呼び出され、/var で定義されます。 /local/zend/library/Zend/Controller/Router/Rewrite.php 行 93
次のコードを使用します。
routes.b2b.type = "Zend_Controller_Router_Route_Hostname"
routes.b2b.route = "sales.sitename.com"
routes.b2b.defaults.module = b2b
routes.b2b.defaults.controller = index
routes.b2b.defaults.action = index
routes.b2b_signup.type = "Zend_Controller_Router_Route_Static"
routes.b2b_signup.route = "/signup"
routes.b2b_signup.defaults.controller = "index"
routes.b2b_signup.defaults.action = "signup"
routes.b2b_login.type = "Zend_Controller_Router_Route_Chain"
routes.b2b_login.chain = b2b_signup
これを INI ファイルで連鎖させる方法の例は、ネット上のどこにも見つかりません。アプリケーション全体がルーティング構成の INI で記述されているため、インターネット上の例の 100% が含まれている配列ベースの構成 (または XML) に切り替えることはできません。
配列形式でそれを行うことができれば、次のように言えます。
$hostnameRoute = new Zend_Controller_Router_Route_Hostname(
'sales.sitename.com',
array(
'controller' => 'index',
'module' => 'b2b',
'action' => 'index'
)
);
$hostnameRoute = new Zend_Controller_Router_Route_Static(
'/signup',
array(
'controller' => 'index',
'module' => 'b2b',
'action' => 'signup'
)
);
$chainedRoute = new Zend_Controller_Router_Route_Chain();
$chainedRoute->chain($b2b_signup)
INIファイルで上記を行う方法について誰かアイデアがありますか?