Основной вопрос о CodeIgniter URL - PullRequest
3 голосов
/ 30 мая 2011

Когда я создаю контроллер в CodeIgniter, например «login.php».Я создаю в нем публичную функцию index и загружаю в нее представление login_form, CodeIgniter генерирует url localhost/test/login.

Теперь, если я создам еще одну функцию «регистрация» в том же контроллере, URL будет localhost/test/login/register, но я хочу создать URL, например localhost/test/register.Нужно ли создавать новый регистр контроллера и делать так, чтобы индексная функция была такой же, или тот же URL можно сгенерировать, добавив функцию в контроллер входа в систему.Каков «обычный» способ сделать это?Спасибо.

Ответы [ 3 ]

5 голосов
/ 30 мая 2011

Как уже упоминалось, вы можете (и, скорее всего, следует ) использовать для этого маршрут :

// config/routes.php
$route['register'] = 'test/register';

Это в основном говорит: если /registerзапрошенный, дайте им /test/register.

Обратите внимание, что /test/register все еще действует.Если вы хотите отключить его по какой-либо причине, вы можете сделать это:

$route['test/register'] = FALSE; // Or map to your 404 page

... но в общем случае вам это не нужно.

Обратите внимание, что использование маршрутов неволшебным образом переписать ваши ссылки или что-нибудь, это просто маршруты запрос куда-то еще, когда он сделан.

Переназначение довольно круто, но то, что вы спрашиваете, определенноработа для маршрута.Внимательно прочитайте руководство пользователя, с ним можно многое сделать.

1 голос
/ 30 мая 2011

Я бы предложил прочитать это руководство о том, как расширить ваш контроллер (в данном случае register) с проверкой входа в систему. Это сделало бы ваш защищенный код в функции index вашего контроллера register. И в любых других контроллерах вы можете добавить. Я думаю, что при вашем подходе вы рискуете иметь один огромный контроллер login вместо нескольких меньших контроллеров с немного большей структурой и обзором.

1 голос
/ 30 мая 2011

Вы можете использовать одно из следующих действий для достижения желаемого результата:

Более подробную информацию о MVC можно найти здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...