name: ControllerMakeCommand
class_comment: null
dependencies:
- name: CreatesMatchingTest
  type: class
  source: Illuminate\Console\Concerns\CreatesMatchingTest
- name: GeneratorCommand
  type: class
  source: Illuminate\Console\GeneratorCommand
- name: InvalidArgumentException
  type: class
  source: InvalidArgumentException
- name: AsCommand
  type: class
  source: Symfony\Component\Console\Attribute\AsCommand
- name: InputInterface
  type: class
  source: Symfony\Component\Console\Input\InputInterface
- name: InputOption
  type: class
  source: Symfony\Component\Console\Input\InputOption
- name: OutputInterface
  type: class
  source: Symfony\Component\Console\Output\OutputInterface
- name: CreatesMatchingTest
  type: class
  source: CreatesMatchingTest
properties:
- name: name
  visibility: protected
  comment: '# * The console command name.

    # *

    # * @var string'
- name: description
  visibility: protected
  comment: '# * The console command description.

    # *

    # * @var string'
- name: type
  visibility: protected
  comment: '# * The type of class being generated.

    # *

    # * @var string'
methods:
- name: getStub
  visibility: protected
  parameters: []
  comment: "# * The console command name.\n# *\n# * @var string\n# */\n# protected\
    \ $name = 'make:controller';\n# \n# /**\n# * The console command description.\n\
    # *\n# * @var string\n# */\n# protected $description = 'Create a new controller\
    \ class';\n# \n# /**\n# * The type of class being generated.\n# *\n# * @var string\n\
    # */\n# protected $type = 'Controller';\n# \n# /**\n# * Get the stub file for\
    \ the generator.\n# *\n# * @return string"
- name: resolveStubPath
  visibility: protected
  parameters:
  - name: stub
  comment: '# * Resolve the fully-qualified path to the stub.

    # *

    # * @param  string  $stub

    # * @return string'
- name: getDefaultNamespace
  visibility: protected
  parameters:
  - name: rootNamespace
  comment: '# * Get the default namespace for the class.

    # *

    # * @param  string  $rootNamespace

    # * @return string'
- name: buildClass
  visibility: protected
  parameters:
  - name: name
  comment: '# * Build the class with the given name.

    # *

    # * Remove the base controller import if we are already in the base namespace.

    # *

    # * @param  string  $name

    # * @return string'
- name: buildParentReplacements
  visibility: protected
  parameters: []
  comment: '# * Build the replacements for a parent controller.

    # *

    # * @return array'
- name: buildModelReplacements
  visibility: protected
  parameters:
  - name: replace
  comment: '# * Build the model replacement values.

    # *

    # * @param  array  $replace

    # * @return array'
- name: parseModel
  visibility: protected
  parameters:
  - name: model
  comment: '# * Get the fully-qualified model class name.

    # *

    # * @param  string  $model

    # * @return string

    # *

    # * @throws \InvalidArgumentException'
- name: buildFormRequestReplacements
  visibility: protected
  parameters:
  - name: replace
  - name: modelClass
  comment: '# * Build the model replacement values.

    # *

    # * @param  array  $replace

    # * @param  string  $modelClass

    # * @return array'
- name: generateFormRequests
  visibility: protected
  parameters:
  - name: modelClass
  - name: storeRequestClass
  - name: updateRequestClass
  comment: '# * Generate the form requests for the given model and classes.

    # *

    # * @param  string  $modelClass

    # * @param  string  $storeRequestClass

    # * @param  string  $updateRequestClass

    # * @return array'
- name: getOptions
  visibility: protected
  parameters: []
  comment: '# * Get the console command options.

    # *

    # * @return array'
- name: afterPromptingForMissingArguments
  visibility: protected
  parameters:
  - name: input
  - name: output
  comment: '# * Interact further with the user if they were prompted for missing arguments.

    # *

    # * @param  \Symfony\Component\Console\Input\InputInterface  $input

    # * @param  \Symfony\Component\Console\Output\OutputInterface  $output

    # * @return void'
traits:
- Illuminate\Console\Concerns\CreatesMatchingTest
- Illuminate\Console\GeneratorCommand
- InvalidArgumentException
- Symfony\Component\Console\Attribute\AsCommand
- Symfony\Component\Console\Input\InputInterface
- Symfony\Component\Console\Input\InputOption
- Symfony\Component\Console\Output\OutputInterface
- CreatesMatchingTest
interfaces: []