#php #codeigniter
#php #codeigniter
Вопрос:
Я не использовал CodeIgniter более года. Я помню, что это было полезно для быстрых и простых проектов, но, похоже, я столкнулся с первым препятствием здесь. Кажется, я не могу загрузить свой вид по умолчанию. Вот контроллер:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Home extends CI_Controller {
private $data = array();
public function __constructor() {
parent::__construct();
}
public function home() {
$this->load->view('header');
$this->load->view('nav');
$this->load->view('home');
$this->load->view('footer');
}
}
Это дает мне:
Обнаружена ошибка PHP
Серьезность: обратите внимание
Сообщение: Неопределенное свойство: Home::$load
Имя файла: controllers/home.php
Номер строки: 13
Но я не могу понять, почему.
В моей конфигурации я установил ‘html’, ‘url’ и ‘form’ для автоматической загрузки. И мои маршруты по умолчанию имеют значение «home». Это немного расстраивает, потому что я знаю, что это что-то действительно простое, о чем я здесь забываю.
Ответ №1:
Вы __constructor
ошибаетесь. Используйте __construct
вместо __constructor
public function __construct()
{
parent::__construct();
}
Ответ №2:
Ваш метод имеет то же имя, что и вызываемое вами представление, которое является home
Комментарии:
1. Спасибо, я знал, что это что-то простое. Я просто забыл, что это ограничение.
2. Имя метода может совпадать с именем представления.
3. попробуйте ответить на проблему другим решением, если это так