Пустая страница при вызове помощника формы CodeIgniter

#codeigniter #libraries

#codeigniter #библиотеки

Вопрос:

Прежде чем я добавил помощника формы, я получаю весь результат и без ошибок.
Но, когда я вызываю помощника формы, я просто получаю пустую страницу без ошибок.
Сценарий контроллера:

 class Reza extends CI_Controller
 {

  function __construct()
   {
     parent::__construct();
     $this->load->library(array("rez_lib"));
   }
  function index(){
    $this->rez_lib->display("home");
  }
}
 

сценарий библиотеки:

 class Rez_lib
 {
  protected $_ci;
  function __construct(){
     $this->_ci =amp; get_instance();
  }
  function display($temp, $data=null){

    $data['header'] = $this->_ci->load->view("construct/header",$data,true);
    $data['sidebar'] = $this->_ci->load-    >view("construct/sidebar",$data,true);
    $data['content']  = $this->_ci->load->view("page/".$temp,$data,true);
    $this->_ci->load->view("construct/all",$data,true);
  }
}
 

Комментарии:

1. Где загружается помощник формы? Где он используется?

2. Вы должны активировать ошибки на PHP. Измените значения в index.php to (внимание, это следует делать только в процессе разработки): error_reporting(-1); ini_set('display_errors', 1); и затем опубликуйте сообщения об ошибках.

3. вы говорите помощник! но вы загружаете библиотеку в фактический код? уточните правильно.

4. я загрузил помощника в автозагрузочный файл.

Ответ №1:

Во-первых, пустой экран вызван тем, что у вас не включена отладка. Перейдите к index.php и установите константу «ОКРУЖАЮЩАЯ СРЕДА» на «разработка» при разработке.

Во-вторых, кажется, у вас есть несколько опечаток в вашем библиотечном классе.

  1. В вашем конструкторе у вас есть дополнительный пробел между amp; и get_instance(): $this->_ci =amp; get_instance();
  2. В теле вашего класса у вас также есть дополнительное пространство между load- and -> view (при загрузке боковой панели) $data['sidebar'] = $this->_ci->load- >view("construct/sidebar",$data,true);

Наконец, вы возвращаете представление в виде данных, поскольку для третьего параметра установлено значение true. См.:

Существует третий необязательный параметр, позволяющий изменить поведение метода, чтобы он возвращал данные в виде строки, а не отправлял их в ваш браузер. Это может быть полезно, если вы хотите каким-либо образом обработать данные. Если вы установите для параметра значение TRUE (логическое значение), он вернет данные. Поведение по умолчанию равно false, которое отправляет его в ваш браузер. http://www.codeigniter.com/user_guide/general/views.html