私はZend Routerを使用してサブドメインを作成しようとしていますが、サブドメインの下の各セクション(subdomain.site.com/section/など)に対して別のルートを作成してからサブドメインルートにチェーンしようとしています。しかし、私はどのように知りません。私は見つけることができるすべてのドキュメンテーションとすべてのフォーラムを読んだが、それは私自身でそれを理解することにつながる。次のコードでZend FrameworkのサブドメインのルーティングチェーンをルーティングINIファイルに書き込むにはどうすればよいですか?
Catchable fatal error: Argument 2 passed to Zend_Controller_Router_Rewrite::addRoute() must implement interface Zend_Controller_Router_Route_Interface, null given, called in /var/local/zend/library/Zend/Controller/Router/Rewrite.php on line 155 and defined in /var/local/zend/library/Zend/Controller/Router/Rewrite.php on line 93
::私はどこでもネット上のINIファイルでこれをチェーン行う方法の例を見つけることができません
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に書き込まれているので、インターネット上のサンプルの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ファイルに上記を行う方法上の任意のアイデアを持っていますか?
これはまさに私が探していた答えです。数ヶ月前にZFと仕事を始めてから、あなたは本当に私を助けてくれました。文字通り、INIでこれを行う方法を記述したインターネット上には何も見つかりませんでした。どうもありがとうございました! ZFの良い本をお勧めしますか? – Dan
いいえ、悲しいことです。私は、Zend Frameworkについての本(または本?)を一度も読んだことはありません。つまり、Rob AllenのZend Framework in Action http://www.zendframeworkinaction.com/は良いとされています。しかし、ZFでの開発が急速に進んでいるため、書籍は古くなってしまいます。とても早い。たとえば、ルートチェーン、Zend_Application、Zend_Toolについては、その本にはありません。 – jason
"連鎖し続けることができます!連鎖は連鎖を持つことができます。" 1. routes.b2b.chains.anotherroute.chains.yetanotherroute ... 2. routes.anotherroute.chains.yetanotherroute ... –