Почему именование моего контроллера codeigniter «Jamie» работает, а «JamiesCorner» не получается? - PullRequest
0 голосов
/ 16 декабря 2018

Я пытаюсь создать новый раздел на сайте, который я создаю, под названием "Уголок Джейми".Поэтому я продублировал контроллер, который у меня уже был для раздела «Об этом сайте ...», переименовал файл в JamiesCorner.php и переименовал контроллер в «JamiesCorner».Когда я загружаю страницу (my_site.local / index.php / jamiescorner), я ожидаю увидеть то же содержимое, что и в разделе «Об этом сайте ...».Вместо этого я получаю страницу Codeigniter 404.Я много чего перепробовал, но обнаружил, что переименование контроллера (и файла) в Jamies работает.Почему это?Нет ничего явно плохого в названии "JamiesCorner".Так почему Codeigniter отвергает это?

1 Ответ

0 голосов
/ 16 декабря 2018

Соглашение об именовании CodeIgniter требует, чтобы только первый символ в файле класса и определение класса были в верхнем регистре.На самом деле, это правило , что касается первого персонажа.Что касается остальной части имени, это не правило, но оно влияет на URL.

Используя правила именования, файл должен быть Jamies_corner.php и класс, определенный следующим образом

class Jamies_corner extends CI_Controller {

Тогда URL-адрес будет my_site.local/index.php/jamies_corner

CodeIgniter всегда будет принудительно вводить первый символ в верхний регистр при загрузке контроллера.Но остальная часть имени контроллера будет принята как есть.В чувствительной к регистру операционной системе (Linux всех вариантов) имя файла ДОЛЖНО совпадать, иначе файл не будет найден.

Другими словами, при использовании файлов JamiesCorner.php и class JamiesCorner URL-адрес будет, как минимум, должно быть my_site.local/index.php/jamiesCorner

Вы также можете использовать .../JamiesCorner, но без прописной буквы "C" в "Углу" он будет каждый раз отказывать.

...