【问题标题】:Pagination in PHP MVCPHP MVC 中的分页
【发布时间】:2011-06-05 12:50:10
【问题描述】:

我用 PHP5 编写了一个小型 MVC,并希望在我的视图部分/文件夹中的某些文件中添加一个分页模块..

我想知道.. Pagination 类会包含在 Controller 或 Models 部分/文件夹中吗?

目前我已将它包含在 Models 文件夹中,并在需要时调用该函数..

【问题讨论】:

  • 另外,如果我将它包含在控制器或模型中,有什么区别?
  • 请显示您的 MVC 的来源,以便实际回答。通常分页不在控制器中完成,但它只是处理现有模型和/或其他数据结构的一些实用程序。

标签: php model-view-controller frameworks pagination


【解决方案1】:

在我看来,分页是一个控件,允许用户告诉您的数据库(模型),他或她想查看哪一部分数据。

所以我会选择控制器模块。

【讨论】:

    【解决方案2】:

    好吧,我认为更好的方法是创建一个 helpers 文件夹,然后像这样将它们加载到您的应用程序中:

    function use_helper()
    {
        static $helpers = array();
    
        foreach (func_get_args() as $helper)
        {
            if (in_array($helper, $helpers)) continue;
    
            $helper_file = HELPER_PATH.DIRECTORY_SEPARATOR.$helper.'.php';
    
            if (!file_exists($helper_file))
                throw new Exception("Helper file '{$helper}' not found!");
    
            include $helper_file;
            $helpers[] = $helper;
        }
    } 
    

    然后你所要做的就是用你的 Pagination 类构建一个 pagination.php 文件。 需要的时候调用函数

    use_helper('pagination');
    

    当然,这取决于你的分页类。 希望这会有所帮助。

    【讨论】:

      【解决方案3】:

      我想最好的方法是从视图中调用分页,参考这个MVC

      视图查询模型以生成适当的用户界面 (例如视图列出了购物车的内容)。 视图从模型中获取自己的数据。 在一些实现中,控制器可以向视图发出一般指令以呈现其自身。 在其他情况下,需要屏幕更新的模型(观察者)状态变化会自动通知视图。

      因为您几乎在每个视图中都会使用这个类,所以您应该创建一个助手并将这个类包含在该助手中,以便所有视图都可以共享它的方法

      【讨论】:

        猜你喜欢
        • 2020-04-11
        • 2012-05-03
        • 2018-12-04
        • 2017-11-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多