【问题标题】:CakePHP, route to a view based on time of dayCakePHP,根据一天中的时间路由到视图
【发布时间】:2012-11-12 17:14:21
【问题描述】:

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

因此,例如,如果是下午 1 点,则默认情况下,应用会转到午餐菜单。 如果是凌晨 2 点,应用会转到深夜菜单。

知道如何在 Cake 2.X 框架中做到这一点吗?

【问题讨论】:

    标签: cakephp date datetime time routing


    【解决方案1】:

    我会实现一个自定义路由器来处理这个问题,以保持清洁和“蛋糕”。

    http://book.cakephp.org/2.0/en/development/routing.html#custom-route-classes

    或者你可以在你的路由配置中添加一些条件。如下所示,但显然我不知道您的确切路线。无论您选择哪种方法,时间逻辑都是相似的。

    app/Config/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));
    

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-10-14
        • 1970-01-01
        相关资源
        最近更新 更多