2011-08-03 34 views
0

我正在PHP中使用MVC體系結構構建一個Web應用程序,並且我構建的第一個組件是路由器。目前,它的工作原理是這樣的:好的正則表達式路由爲PHP MVC路由器?

// Cleans the URI 
SimpleRouter::init(); 

// Adds a new URI matching rule 
SimpleRouter::add_route('\/app\-admin\/products\/edit\/([0-9]+)\/', 'MyFunc'); 

我想我的代碼看起來像這樣雖然,讓它多一點可讀性/更容易記住

// Adds a new URI matching rule 
SimpleRouter::add_route('/app-admin/products/edit/([0-9]+)/', 'MyFunc'); 

任何想法我怎麼可能實現呢?

回答

1

你不需要逃避破折號。至於斜線,如果你用別的東西(任何字符,如#,或|)開始和結束你的正則表達式,你也不需要轉義斜線。

P.S .:不要使用靜態訪問..否則有什麼關係使它OOP?我如何繼承它,等等。

+0

對於這個特定的場景,我絕對沒有理由必須繼承路由器的子類,但是無論如何我都會把它作爲一個對象。感謝您的另一個提示,我總是儘管正則表達式必須以/ –

+0

開始和結束如何單元測試,嘲笑等。 – Evert