РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1305 of 1392 menu

Команда make:controller

Команда make:controller создаёт новый класс контроллера в директории app/Http/Controllers. По умолчанию генерируется пустой контроллер без методов. С помощью дополнительных опций можно создать ресурсный контроллер с методами для CRUD-операций или контроллер с методами для API.

Синтаксис

php artisan make:controller NameController

Пример

Давайте создадим простой контроллер для управления статьями:

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; class ArticleController extends Controller { public function index() { $articles = ['article 1', 'article 2', 'article 3']; return view('articles.index', ['articles' => $articles]); } public function show($id) { $article = "article {$id}"; return view('articles.show', ['article' => $article]); } }

Для генерации этого контроллера выполните команду:

php artisan make:controller ArticleController

Пример

Создадим ресурсный контроллер с полным набором методов для CRUD-операций. Для этого используется опция --resource:

php artisan make:controller PostController --resource

Результат выполнения команды:

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; class PostController extends Controller { public function index() { // } public function create() { // } public function store(Request $request) { // } public function show($id) { // } public function edit($id) { // } public function update(Request $request, $id) { // } public function destroy($id) { // } }

Пример

Создадим API-контроллер с использованием опции --api. Такой контроллер не содержит методов create и edit, так как они не нужны для API:

php artisan make:controller ApiPostController --api

Результат выполнения команды:

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; class ApiPostController extends Controller { public function index() { // } public function store(Request $request) { // } public function show($id) { // } public function update(Request $request, $id) { // } public function destroy($id) { // } }

Пример

Создадим контроллер в отдельной директории внутри app/Http/Controllers. Для этого нужно указать путь через слеши:

php artisan make:controller Admin/UserController

Результат выполнения команды:

<?php namespace App\Http\Controllers\Admin; use App\Http\Controllers\Controller; use Illuminate\Http\Request; class UserController extends Controller { public function index() { $users = ['user 1', 'user 2', 'user 3', 'user 4']; return response()->json($users); } }

Результат выполнения метода index:

["user 1", "user 2", "user 3", "user 4"]

Смотрите также

  • команда make:model,
    которая создаёт новую модель Eloquent
  • команда make:migration,
    которая создаёт новый файл миграции
  • команда make:seeder,
    которая создаёт новый класс сидера
  • команда make:request,
    которая создаёт новый класс запроса
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить