Используя CodeIgniter, я получаю странное поведение в моем коде.Я хочу, чтобы в моей базе данных было что-то вроде человека, и когда я набираю идентификатор данного человека, появляется страница со всей информацией об этом человеке, которую мы имеем в базе данных.
Простопростая вещь.Я преуспел в том, что касается официального учебного пособия по новостям, и это совсем не работает!
Я написал унаследованный от контроллера класс с именем Person с методом viewPersonById, вот так:
class Person extends CI_Controller{
public function __construct()
{
parent::__construct();
$this->load->model('Person_Model');
}
public function index()
{
}
public function viewPersonById($parId){
$data['person'] = $this->Person_Model->get($parId);
$data['title'] = 'Person information';
$this->load->view('templates/header', $data);
$this->load->view('people/view', $data);
$this->load->view('templates/footer');
}
Мой route.php написан так:
$route['people/(:any)'] = 'Person/viewPersonById/$1';
$route['news/create'] = 'news/create';
$route['news/modify/(:any)'] = 'news/modify/$1';
$route['news/(:any)'] = 'news/view/$1';
$route['news'] = 'news';
$route['(:any)'] = 'pages/view/$1';
$route['default_controller'] = 'pages/view';
И все, что я получаю, это 404, когда я ввожу http://127.0.0.1:8888/ci/index.php/people/1 в моем браузере.Что не так в моем коде?Я не вижу этого.
Есть идеи?Спасибо и извините за мой плохой английский.
РЕДАКТИРОВАТЬ:
Хорошо, ребята, я узнал, что случилось.Я чувствую себя самым большим ослом за всю историю, потому что имена моих файлов были странными, как "person.controler.php" и "person.model.php".Имя вашего контроллера и то, что вы помещаете в rout.php , должны точно соответствовать .
Так что мне просто нужно было переименовать person.controler.php в person.php и person.model.php to person_model.php, чтобы модель могла быть загружена в контроллер.CI использует имена файлов, чтобы увидеть, что он должен загрузить.Будьте осторожны с этим.