Laravel Эквивалент передачи переменных функциям в codeigniter

Я использую CodeIgniter от 2 лет, и я пытаюсь перейти к Laravel и я видел много учебников о том, как использовать Laravel но я не мог найти ответы на вопросы о том, как передавать переменные в функции, используя URL и без использования маршрутов, как в CodeIgniter если бы я позвонил по этой ссылкеsite.com/users/edit/12,

Я хотел бы вызвать контроллер пользователя, функцию редактирования и передать значение переменной 12, как я могу сделать то же самое в Laravel без использования маршрутов для каждой отдельной функции или использования строк запроса, которые сделают URL некрасиво?

2 ответа

Решение

Вот пример. Надеюсь, что это будет полезно.......

route.php

Route::controller('users','UsersController');

UsersController.php

class UsersController extends BaseController
{       

    public function getEdit($value)
    {
        echo $value;
    }
}

URL

site.com/users/edit/12

выход

12

В Laravel - 3 вы можете сделать это, используя что-то вроде этого:

Route::controller(Controller::detect());

Но позже versions это не доступно, и вы должны явно объявить маршруты. На самом деле лучше объявить маршруты явно, и этот подход также имеет много преимуществ. Это распространенная проблема, которая случается с разработчиками, которые мигрируют из CodeIgniter но позже они становятся мотивированными, и если вы используете это, вам наверняка понравится это.

Вы можете прочитать эту статью Phil Sturgeon кто был человеком за CodeIgniter фреймворк, он обсудил его недостатки (автоматическая маршрутизация).

Если вы используете Laravel - 4 затем проверьте Руководство по контроллеру, особенно проверьте RESTful а также Resourceful раздел контроллеров, он может привлечь вас, но сначала вы должны быть ознакомлены с явным объявлением маршрута.

Другие вопросы по тегам