Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
File Manager
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Auth
:
InterfaceMakeCommand.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php namespace Illuminate\Foundation\Console; use Illuminate\Console\GeneratorCommand; use Symfony\Component\Console\Attribute\AsCommand; use Symfony\Component\Console\Input\InputOption; #[AsCommand(name: 'make:interface')] class InterfaceMakeCommand extends GeneratorCommand { /** * The console command name. * * @var string */ protected $name = 'make:interface'; /** * The console command description. * * @var string */ protected $description = 'Create a new interface'; /** * The type of class being generated. * * @var string */ protected $type = 'Interface'; /** * Get the stub file for the generator. * * @return string */ protected function getStub() { return __DIR__.'/stubs/interface.stub'; } /** * Get the default namespace for the class. * * @param string $rootNamespace * @return string */ protected function getDefaultNamespace($rootNamespace) { return match (true) { is_dir(app_path('Contracts')) => $rootNamespace.'\\Contracts', is_dir(app_path('Interfaces')) => $rootNamespace.'\\Interfaces', default => $rootNamespace, }; } /** * Get the console command arguments. * * @return array */ protected function getOptions() { return [ ['force', 'f', InputOption::VALUE_NONE, 'Create the interface even if the interface already exists'], ]; } }