CodeIgniter 3.1.9-调用未定义的方法stdClass :: base_url()

时间:2019-01-16 04:39:50

标签: codeigniter

我的控制器代码是:

  class Tconfig extends CI_Controller {
  public $config;

  public function __construct($schoolId = 1) {
    parent::__construct();
    $this->load->database();
    $this->load->model('Tconfig_model');
    $this->config = $this->Tconfig_model->load_config($schoolId);
  }

  public function config() {
    $data['config'] = $this->config;
    $this->load->view('templates/user_header', $data);
    $this->load->view('templates/user_menu', $data);
//    printf("%s", base_url());
    //$this->load->view('config', $data);
    //$this->load_view('templates/user_footer', $data);
  }

}

我已自动加载url_helper

这时,我只是试图加载一个HTML文件,其中包含对base_url()的调用 调用此函数的确切行是:

<link href=<?php echo base_url();?>"assets/bootstrap337/css/bootstrap.min.css" rel="stylesheet">

通过调试器运行此代码时,会得到

Debugger output

我不知道为什么我要调用 url_helper.php

中未定义方法 stdClass :: base_url()

我很确定这很明显,但这已经是漫长的一天.. TIA!

4 个答案:

答案 0 :(得分:1)

您必须在application->Config->autoload.php文件中加载网址帮助器

像这样:-

$autoload['helper'] = array('url');



将此添加到控制器的构造函数中

$this->load->helper('url');

答案 1 :(得分:0)

在头文件中使用它。

<script>
 var base_url = '<?php echo base_url(); ?>';
 </script>

答案 2 :(得分:0)

检查是否在config.php文件中定义了基本URL。如果不是,则将其定义为-

$config['base_url'] = 'your-base-url';

位于application / config文件夹中的config.php文件中。

答案 3 :(得分:0)

问题是-您用自己的变量覆盖CI内部变量config-您可以通过重命名变量来避免这种情况

类似以下的东西应该起作用

class Tconfig extends CI_Controller 
{
    public $tcConfig;

    public function __construct($schoolId = 1) 
    {
        parent::__construct();
        $this->load->database();
        $this->load->model('Tconfig_model');
        $this->tcConfig = $this->Tconfig_model->load_config($schoolId);
    }

    public function config() 
    {
        $data['config'] = $this->tcConfig;
        $this->load->view('templates/user_header', $data);
        $this->load->view('templates/user_menu', $data);
    }
}