Dorokhov.codes
05. Controllers
Controllers are usually located inside the app/Http/Controllers
folder.
They should be inherited from the App\Http\Controllers\Controller
class.
Example of HomeController.php
:
namespace app/Http/Controllers;
class HomeController extends Controller
{
pulic function index()
{
return 'Hello, world!';
}
}
Parameters
namespace app/Http/Controllers;
class PostController extends Controller
{
pulic function view($id)
{
return "Post $id";
}
}
Creating using artisan
php artisan make:controller HomeController
php artisan make:controller Admin\PostController
Resource controllers
Controller that has all necessary actions for CRUD operations:
- index
- create
- store
- show
- edit
- update
- destroy
php artisan make:controller Admin\PostController --resource
Routes:
Route::resource('photos', 'PhotoController');
Render a view
Passing variables:
return view('welcome', [
'name' => 'Andrew',
]);
return view('welcome')->with('name', 'Andrew');
Function view()
looks for a view file in resources/views/
, for example:
resources/views/welcome.blade.php
Response with JSON
public function test()
{
return response()->json([
'success' => true,
]);
}