Создание контроллера через терминал
- Name придумывается исходя какую страницу контроллер будет обрабатывать
- контроллер создаётся в папке app/Http/Controllers/
php artisan make:controller NameController
Базовая структура контроллера в файле
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class ContactController extends Controller {
...
}
класс контроллер может содержать собственные методы-функции
class ContactController extends Controller {
public function submit(){
return "Okey";
}
}
вызов определённой функции из определённого контроллера в route
routes\web.php
при переходе на страницу по url адресу /contact/submit и мы будем передавать данные при помощи метода post то у нас будет вызываться ContactController у которого вызывается функция submit
<?php
...
при переходе на страницу по url адресу /contact/submit и мы будем передавать данные при помощи метода post то у нас будет вызываться ContactController у которого вызывается функция submit
Route::post('/contact/submit','ContactController@submit')->name('contact-form');
Контроллер содержит функцию с параметром Request
класс Request содержит все передаваемые данные
при помощи функции input мы берём определённый параметр (например subject), который находится в массиве параметров из Request
class ContactController extends Controller {
public function submit(Request $req){
return dd($req->input('subject'));
}
}