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
раздел контроллеров, он может привлечь вас, но сначала вы должны быть ознакомлены с явным объявлением маршрута.