如何在CI中使用我自己的库传递一些功能

时间:2017-05-10 10:56:36

标签: php codeigniter

我创建了一个调用该方法的库,以在页脚中显示最新消息。

我的图书馆:

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Footer
{
    protected $ci;

    public function __construct()
    {
        $this->ci =& get_instance();
        $this->ci->load->model('m_main');
    }

    public function news_footer()
    {
        return $data['news_footer'] = $this->m_main->last_news_footer()->result();
    }

}

我的控制员:

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Main extends CI_Controller {

    function __construct() {
        parent::__construct();
        $this->load->model('m_main');
        $this->load->helper('text');
        $this->load->library('footer');
    }

    public function index(){
        $data['whychooseus']    = $this->m_main->data_whychooseus()->result();
        $data['iklan']          = $this->m_main->last_iklan()->result();
        $data['iklan2']         = $this->m_main->last2_iklan()->result();
        $data['bannerx']        = $this->m_main->data_banner()->result();
        $data['news']           = $this->m_main->data_news()->result();
        $data['newslast']       = $this->m_main->last_news()->result();
        $data['provinsi']       = $this->m_main->data_provinsi()->result();
        $data['kota']           = $this->m_main->data_kota()->result();
        $data['bengkel']        = $this->m_main->data_bengkel_kota()->result();
        $data['harga']          = $this->m_main->data_harga()->result();
        $data['plat']           = $this->m_main->data_plat()->result();
        $data['news_footer']    = $this->m_main->last_news_footer()->result();

        $this->footer->news_footer();
        $this->load->view('index',$data);
    }

我收到了这个错误:

  

遇到未捕获的异常

     

输入:错误

     

消息:调用未定义的方法CI_Loader :: last_news_footer()

     

文件名:C:\ xampp \ htdocs \ premi \ application \ libraries \ footer.php

     

行号:16

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:3)

尝试使用ci

$this->ci->m_main->last_news_footer()

如果您尝试在控制器中加载控制器,则可以使用HMVC,这对于小部件等很有用

https://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc/downloads/?tab=branches

请注意,最新版本的HMVC存在错误,请添加此https://pastebin.com/vNUhJCss