![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/rentpix.corals.io/vendor/orchestra/canvas/src/Console/ |
<?php namespace Orchestra\Canvas\Console; use Illuminate\Support\Str; use Orchestra\Canvas\Core\Commands\GeneratorCommand; use Orchestra\Canvas\Core\Concerns\ResolvesPresetStubs; use Symfony\Component\Console\Attribute\AsCommand; use Symfony\Component\Console\Input\InputOption; #[AsCommand(name: 'make:generator', description: 'Create a new generator command')] class GeneratorMakeCommand extends GeneratorCommand { use ResolvesPresetStubs; /** * The type of class being generated. * * @var string */ protected $type = 'Generator'; /** * Replace the class name for the given stub. * * @param string $stub * @param string $name * @return string */ protected function replaceClass($stub, $name) { $stub = parent::replaceClass($stub, $name); /** @var string $command */ $command = $this->option('command') ?: 'make:'.Str::of($name)->classBasename()->kebab()->value(); return str_replace(['dummy:command', '{{ command }}'], $command, $stub); } /** * Get the stub file for the generator. * * @return string */ protected function getStub() { return $this->resolveStubPath('/stubs/generator.stub'); } /** * Resolve the default fully-qualified path to the stub. * * @param string $stub * @return string */ protected function resolveDefaultStubPath($stub) { return __DIR__.$stub; } /** * Get the default namespace for the class. * * @param string $rootNamespace * @return string */ protected function getDefaultNamespace($rootNamespace) { return rtrim($this->generatorPreset()->commandNamespace(), '\\'); } /** * Get the console command options. * * @return array<int, array> */ protected function getOptions() { return [ ['force', 'f', InputOption::VALUE_NONE, 'Create the class even if the generator already exists'], ['command', null, InputOption::VALUE_OPTIONAL, 'The terminal command that should be assigned', 'make:name'], ]; } }