Загрузка...

Laravel. Artisan список make команд с параметрами

Список команд составлен в 2019 году.
laravel cover

В Laravel есть потрясающий набор ремесленных команд, вероятно, наиболее часто используемые — make:xxx – например, make:model или make:migration и т. д. Но знаете ли вы все 21 из них? И более того, знаете ли вы их параметры, которые могут помочь сделать код еще быстрее?

Во-первых, есть команда php artisan list, которая дает нам все команды, например:

  make:channel         Create a new channel class
  make:command         Create a new Artisan command
  make:controller      Create a new controller class
  make:event           Create a new event class
  make:exception       Create a new custom exception class
  make:factory         Create a new model factory
  make:job             Create a new job class
  make:listener        Create a new event listener class
  make:mail            Create a new email class
  make:middleware      Create a new middleware class
  make:migration       Create a new migration file
  make:model           Create a new Eloquent model class
  make:notification    Create a new notification class
  make:observer        Create a new observer class
  make:policy          Create a new policy class
  make:provider        Create a new service provider class
  make:request         Create a new form request class
  make:resource        Create a new resource
  make:rule            Create a new validation rule
  make:seeder          Create a new seeder class
  make:test            Create a new test class

 

Этот список выше не дает нам никакой информации о параметрах или опциях этих команд. Поэтому я хочу сделать здесь обзор каждого из них, начиная с наиболее часто используемых.

Для этого мы углубимся в реальный код платформы в папке /vendor/laravel/framework/src/Illuminate и проверим, какие параметры и недокументированные функции есть для каждой команды.


1. make:controller

ar

Example usage:

php artisan make:controller UserController

Parameters:

--resource

Контроллер будет содержать метод для каждой из доступных операций с ресурсами — index(), create(), store(), show(), edit(), update(), Destroy().

--api

Аналогично –resource выше, но генерирует только 5 методов: index(), store(), show(), update(), Destroy(). Потому что для API не нужны формы создания/редактирования.

--invokable

Создает контроллер с помощью одного метода __invoke().

--model=Photo

Если вы используете привязку модели маршрута и хотите, чтобы методы контроллера ресурсов вводили подсказку для экземпляра модели.

--parent=Photo

Официально недокументированный параметр, в коде написано “Сгенерировать вложенный класс контроллера ресурсов”, но мне не удалось правильно сгенерировать контроллер. Так что, вероятно, работа продолжается.


2. make:model

Create a new Eloquent model class.

Пример:

php artisan make:model Photo

Параметры:

--migration

или

-m

Создайте новый файл миграции для модели.

--controller

или

-c

Создайте новый контроллер для модели.

--resource

или

-r

Указывает, должен ли созданный контроллер быть контроллером ресурсов.

Да, вы правильно поняли, сделать это можно так:

php artisan make:model Project --migration --controller --resource

Или короче:

php artisan make:model Project -mcr

Но это еще не все, что касается make:model.

--factory

или

-f

Создает новую фабрику для модели.

--all

or

-a

Создайте все вышеперечисленное: контроллер миграции, фабрики и ресурсов для модели.

И даже это еще не все.

--force

Создайте класс, даже если модель уже существует.

--pivot

Указывает, должна ли созданная модель быть пользовательской моделью промежуточной таблицы.


3. make:migration

Create a new migration file.

Example usage:

php artisan make:migration create_projects_table

Parameters:

--create=Table

The table to be created.

--table=Table

The table to migrate.

--path=Path

The location where the migration file should be created.

--realpath

Indicate any provided migration file paths are pre-resolved absolute path.

--fullpath

Output the full path of the migration.


4. make:seeder

Create a new database seeder class.

Example usage:

php artisan make:seeder BooksTableSeeder

Parameters: none.


5. make:request

Create a new form request class in app/Http/Requests folder.

Example usage:

php artisan make:request StoreBlogPost

Parameters: none.


6. make:middleware

Create a new middleware class.

Example usage:

php artisan make:middleware CheckAge

Parameters: none.


7. make:policy

Create a new policy class.

Example usage:

php artisan make:policy PostPolicy

Parameters:

--model=Photo

The model that the policy applies to.


8. make:command

Create a new Artisan command.

Example usage:

php artisan make:command SendEmails

Parameters:

--command=Command

The terminal command that should be assigned.


9. make:event

Create a new event class.

Example usage:

php artisan make:event OrderShipped

Parameters: none.


10. make:job

Create a new job class.

Example usage:

php artisan make:job SendReminderEmail

Parameters:

--sync

Indicates that job should be synchronous.


11. make:listener

Create a new event listener class.

Example usage:

php artisan make:listener SendShipmentNotification

Parameters:

--event=Event

The event class being listened for.

--queued

Indicates the event listener should be queued.


12. make:mail

Create a new email class.

Example usage:

php artisan make:mail OrderShipped

Parameters:

--markdown

Create a new Markdown template for the mailable.

--force

Create the class even if the mailable already exists.


13. make:notification

Create a new notification class.

Example usage:

php artisan make:notification InvoicePaid

Parameters:

--markdown

Create a new Markdown template for the notification.

--force

Create the class even if the notification already exists.


14. make:provider

Create a new service provider class.

Example usage:

php artisan make:provider DuskServiceProvider

Parameters: none.


15. make:test

Create a new test class.

Example usage:

php artisan make:test UserTest

Parameters:

--unit

Create a unit (or, otherwise, feature) test.


16. make:channel

Create a new channel class for broadcasting.

Example usage:

php artisan make:channel OrderChannel

Parameters: none.


17. make:exception

Create a new custom exception class.

Example usage:

php artisan make:exception UserNotFoundException

Parameters:

--render

Create the exception with an empty render method.

--report

Create the exception with an empty report method.


18. make:factory

Create a new model factory.

Example usage:

php artisan make:factory PostFactory --model=Post

Parameters:

--model=Post

The name of the model.


19. make:observer

Create a new observer class.

Example usage:

php artisan make:observer PostObserver --model=Post

Parameters:

--model=Post

The model that the observer applies to.


20. make:rule

Create a new validation rule.

Example usage:

php artisan make:rule Uppercase

Parameters: none.


21. make:resource

Create a new API resource.

Example usage:

php artisan make:resource PostResource

Parameters:

--collection=Post

Create a ResourceCollection instead of individual Resource class.


So, that’s it – 21 commands covered. Is there anything missing? Or would you like to see some new parameters for your favorite commands? Share in the comments!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *