Я только что начал простой проект php, используя фреймворк codeigniter, и мои шаги следуют.
Создайте контроллер с именем user.php
.
После этого создается просмотр articles_list.php
внутри public
каталога.
После этого загруженного представления в контроллер.
но получая фатальный вызов ошибки в представлении функции-члена () на null. для этого я использую версию 3.1.1 версии codeigniter framework.
Я начинаю в этой структуре. Пожалуйста, скажите мне, где я ошибаюсь.
user.php (контроллер)
<?php class User extends MY_Controller{ public function __construct() { parent::__construct(); } public function index(){ echo "list articles"; $this->load->view('public/articles_list'); } } ?>
articles_list.php (Просмотр)
<html> <head> <title>Article List</title> <!--<link rel="stylesheet" type="text/css" href="http://localhost/codeigniter/assets/css/bootstrap.min.css">--> </head> <body> <p>hello</p> </body> </html>
Заранее спасибо.
Ошибка вроде этого ..
Список статей Ошибка PHP возникла
Severity: Notice Message: Undefined property: User::$load Filename: controllers/user.php Line Number: 8 Backtrace: File: C:\xampp\htdocs\codeigniter\application\controllers\user.php Line: 8 Function: _error_handler File: C:\xampp\htdocs\codeigniter\index.php Line: 315 Function: require_once Fatal error: Call to a member function view() on null in C:\xampp\htdocs\codeigniter\application\controllers\user.php on line 8 A PHP Error was encountered Severity: Error Message: Call to a member function view() on null Filename: controllers/user.php Line Number: 8 Backtrace:
Контроллер
<?php class User extends CI_Controller { public function __construct() { $this->load->database(); } public function show($id) { $this->load->model('User_model'); $list = $this->User_model->get_list($id); $data['detail'] = list; $this->load->view('list', $data); } } ?>
Модель
<?php class User_model extends CI_Model { public function __construct() { $this->load->database(); } public function get_list($id) { if($id != FALSE) { $query = $this->db->get_where('list', array('id' => $id)); return $query->result(); } else { return FALSE; } } } ?>
Вид
<?php foreach($detail as $row){ <?php print $row->field1; ?> <?php print $row->field2; ?> } ?>
Чтобы получить больше информации
Представления codeigniter
Модели codeigniter
Сохраните контроллер как User.php. Заметим, что U капитализируется. В версиях Codeigniter версии 3.1.0 и выше имена файлов контроллеров и моделей должны быть сохранены как U ser.php. Также измените MY_Controller на CI_Controller
Надеюсь это поможет 🙂