0

我想在一个 php 类中声明一个变量,它可以在它的所有函数中使用。我正在使用 codeigniter 框架,并且必须在每个函数中传递 base_url 等数据。我还需要一个变量中的所有这些数据。例如$data['base_url']=base_url()$data['title']="My_Site_title"等等 & 然后只发送一个变量 $data (这在 codeigniter 中很常见)。

根据这个问题,我将代码修改为:

class Search extends CI_Controller {

function Search() {
    parent::__construct();
    $this->load->model('student_model');

    $this->load->helper('form');
    $this->load->helper('url');
    $this->output->enable_profiler(TRUE);

    $this->data['base_url']=base_url();  //gives an error here
 }

 function index() {
     $this->load->view('search_view', $this->data);
 }
 }

但它仍然在标记的地方给出一个错误,说Undefined variable: dataand Fatal error: Cannot access empty property in ..\search.php on line 16

4

1 回答 1

1

干得好:

class Search extends CI_Controller {

protected $data = array();

function Search() {
    parent::__construct();
    $this->load->model('student_model');

    $this->load->helper('form');
    $this->load->helper('url');
    $this->output->enable_profiler(TRUE);

    $this->data['base_url']=base_url();
 }

 function index() {
     $this->load->view('search_view', $this->data);
 }
 }

更多关于 php 中的类属性:http: //php.net/manual/en/language.oop5.properties.php

于 2012-06-09T18:14:44.033 回答