[英]How to work around with routers? I want to check if the URI is exisiting like it's controller and action
我是Phalcon PHP的新手,目前正在開發CMS。
我正在嘗試創建一個博客模塊,用戶可以在其中發布帶有URL結構的自定義嵌條的博客。
我在路由URI時遇到問題,就像我想先檢查控制器或操作是否存在一樣。 如果不是,它應該重定向到我的動作處理程序,並檢查這是否是博客,如果不是帖子,則應重定向到404頁面。
我的路由器上已經有一個代碼。 我已經有一個代碼將其重定向到我的視圖操作句柄
$router->add(
'/([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+)',
[
'controller' => 'posts',
'action' => 'viewPostHandler',
'posts_category' => 1,
'posts_slug' => 2
]
);
因此,我已經接受了任何代碼,並將其重定向到posts / viewPostHandler並選擇一個伏特。 但是,使用此路由器會影響默認的/:controller /:action路由器。
就像index / loginSubmit不再起作用。
訂單路線是注冊事項。
如果在帶有可匹配具體路由的段的路由之前加載具體路由( $this->router->addGet('/sample-url')
)( $this->router->addGet('/[az-]')
)它將優先處理慢跑的路線。
如果您顛倒了注冊順序,那么在上面的示例中,您最后加載了/sample-url
,它應該可以工作。
文檔的相關部分(搜索“訂單”):
由於可以使用add()方法根據需要添加許多路由,因此添加路由的順序表明了它們的相關性,因此,最新添加的路由的相關性要高於首次添加的路由。 在內部,將以相反的順序遍歷所有定義的路由,直到Phalcon \\ Mvc \\ Router找到與給定URI匹配的路由並對其進行處理,而忽略其余路由。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.