CakePHP,根据时间路由到视图

时间:2012-11-12 17:14:21

标签: cakephp date datetime time routing

我正在为一家餐馆开发一个移动网站,并希望根据一天中的时间执行一条路线。

因此,例如,如果是下午1点,默认情况下应用程序会路由到午餐菜单。 如果是凌晨2点,该应用程序将路由到深夜菜单。

任何想法如何在 Cake 2.X Framework

中执行此操作

2 个答案:

答案 0 :(得分:2)

我会实现一个处理此问题的自定义路由器,以保持清洁和“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));

答案 1 :(得分:-1)

要考虑的是这个逻辑是否应该在你的路线文件中。对我来说,这个逻辑属于一个模型,即你有一个getMenu($hour)方法,它根据时间返回菜单。