對於新的應用程序,我想使用URI來確定應該加載哪些內容。目前爲止沒有什麼特別的......但是我怎樣才能讓slug在其中進行斜線切割,並確保Zend Framework將它們視爲1個變量? ZF將所請求的URL以塊爲單位進行分割,其中每個部分都是2個鋸齒之間的字符串。現在我想讓1個變量中的所有部分都可以使用。使用Zend將1個變量中的多個網段放在一個變量中
例如:
/de/my/page de > language my/page > 1 variable
任何想法?
對於新的應用程序,我想使用URI來確定應該加載哪些內容。目前爲止沒有什麼特別的......但是我怎樣才能讓slug在其中進行斜線切割,並確保Zend Framework將它們視爲1個變量? ZF將所請求的URL以塊爲單位進行分割,其中每個部分都是2個鋸齒之間的字符串。現在我想讓1個變量中的所有部分都可以使用。使用Zend將1個變量中的多個網段放在一個變量中
例如:
/de/my/page de > language my/page > 1 variable
任何想法?
的建議是最好的選擇,但如果你真的想保持你的斜線,您可以用Zend_Controller_Router_Route_Regex工作,以趕上你的參數,你只需要找到一個很好的正則表達式,一個簡單的例子:
$routetotry = new Zend_Controller_Router_Route_Regex('([^/]+)/(.*)',
array(1 => 'de', 'controller' => 'someController', 'action' => 'someAction'),
array(1 => 'lang',2=>'my_variable_with_slash'),
'%s/%s'
);
$router->addRoute('routetotry', $routetotry);
用您選擇的其他值替換slu s中的斜槓。
例如連字符( - )或下劃線(_)。從哈日ķ
自定義路由器。最靈活的解決方案,但不是最簡單的解決方案:(
你能提供一個你想要實現的例子嗎? – Marcin 2011-05-19 11:39:15
我添加了這個例子。 – koko 2011-05-19 11:47:29
'explode('/','$ url,1);'possible 2 – Ascherer 2011-05-19 16:21:12