我正在開發一家餐廳的移動網站,並且正在尋找基於一天中的時間執行路線。CakePHP,根據一天中的時間路由到視圖
因此,例如,如果它的下午1點,默認情況下應用程序路由到午餐菜單。 如果是凌晨2點,應用程序將轉到深夜菜單。
任何想法如何在Cake 2.X Framework內做到這一點?
我正在開發一家餐廳的移動網站,並且正在尋找基於一天中的時間執行路線。CakePHP,根據一天中的時間路由到視圖
因此,例如,如果它的下午1點,默認情況下應用程序路由到午餐菜單。 如果是凌晨2點,應用程序將轉到深夜菜單。
任何想法如何在Cake 2.X Framework內做到這一點?
我會實現一個自定義路由器來處理這個問題,以保持事物的清潔和「Cakey」。
http://book.cakephp.org/2.0/en/development/routing.html#custom-route-classes
或者你也可以加一些條件,你的路由配置。像下面的東西,但顯然我不知道你的確切路線。時間邏輯將類似,無論您選擇給我們哪一種方法。
應用程序/配置/ routes.php文件
$hour = date('G');
if ($hour >= 13 && $hour < 18) {
$menu = 'lunch';
} elseif ($hour >= 18 || $hour < 2) {
$menu = 'dinner';
} elseif ($hour >= 2 && $hour < 6) {
$menu = 'late';
} else {
$menu = 'breakfast';
}
Router::connect('/menu', array('controller' => 'menus', 'action' => $menu));
要考慮的事情是這樣的邏輯是否應該在你的路由文件。對我來說,這個邏輯屬於一個模型,即你將有一個getMenu($hour)
方法,它返回菜單取決於時間。
謝謝,這個效果很好! –