#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 и установите константу «ОКРУЖАЮЩАЯ СРЕДА» на «разработка» при разработке.
Во-вторых, кажется, у вас есть несколько опечаток в вашем библиотечном классе.
- В вашем конструкторе у вас есть дополнительный пробел между amp; и get_instance():
$this->_ci =amp; get_instance();
- В теле вашего класса у вас также есть дополнительное пространство между 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