需要使用带有核心php的Codeigniter类

时间:2012-01-17 05:55:02

标签: php codeigniter

我已经使用了codeignter,它的课程非常好,简单而有用 我想在我的自定义php框架中集成分页类,在CI设置的/ base / system / libraries文件夹中找到,之后我成功集成了Table类,在我的frmework中创建了带有php数据的动态表。
在这里,我遇到了/base/system/libraries/Pagination.php中$CI =& get_instance();的问题,它在controller.php中得到实例化。 它的抛出错误是因为我没有使用整个控制器,而只是它的类 有没有解决方案,我可以使用Pagination类,没有get_instance()。

2 个答案:

答案 0 :(得分:1)

    $CI =& get_instance();

    if ($CI->config->item('enable_query_strings') === TRUE OR $this->page_query_string === TRUE)
    {
        if ($CI->input->get($this->query_string_segment) != $base_page)
        {
            $this->cur_page = $CI->input->get($this->query_string_segment);

            // Prep the current page - no funny business!
            $this->cur_page = (int) $this->cur_page;
        }
    }
    else
    {
        if ($CI->uri->segment($this->uri_segment) != $base_page)
        {
            $this->cur_page = $CI->uri->segment($this->uri_segment);

            // Prep the current page - no funny business!
            $this->cur_page = (int) $this->cur_page;
        }
    }

    if(isset($_GET['cur_page'])){
        $this->cur_page = $_GET['cur_page'];
    }else{
        $this->cur_page = 1;
    }

&安培;

if ($CI->config->item('enable_query_strings') === TRUE OR $this->page_query_string === TRUE)
        {
            $this->base_url = rtrim($this->base_url).'&'.$this->query_string_segment.'=';
        }
        else
        {
            $this->base_url = rtrim($this->base_url, '/') .'/';
        }

删除此内容。

称之为,

include_once(LIB_DIR.'/pagination.class.php');
$pagination = new Pagination();

$config['base_url'] = 'http://testme.com/stats.php?cur_page=';
$config['total_rows'] = 200;
$config['per_page'] = 20;

$pagination->initialize($config);

echo $pagination->create_links();

答案 1 :(得分:0)

分页课程并不依赖于CI。您可以简单地重写一下,找到并替换所有对“outside”的引用,并使用它尝试分配的正确数据。然后分页将在没有与CI进行任何交互的情况下工作,您将能够在您的框架中使用它。