我正在为一家餐馆开发一个移动网站,并希望根据一天中的时间执行一条路线。
因此,例如,如果它是下午 1 点,默认情况下应用程序会路由到午餐菜单。如果是凌晨 2 点,应用程序会转到深夜菜单。
知道如何在Cake 2.X 框架中做到这一点吗?
我会实现一个自定义路由器来处理这个问题,以保持清洁和“蛋糕”。
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)
根据时间返回菜单的方法。