PATH:
home
/
lab2454c
/
costbloc.com
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Console
<?php namespace Illuminate\Foundation\Console; use Illuminate\Console\GeneratorCommand; use Illuminate\Foundation\Inspiring; use Illuminate\Support\Str; use Symfony\Component\Console\Attribute\AsCommand; use Symfony\Component\Console\Input\InputOption; #[AsCommand(name: 'make:component')] class ComponentMakeCommand extends GeneratorCommand { /** * The console command name. * * @var string */ protected $name = 'make:component'; /** * The name of the console command. * * This name is used to identify the command during lazy loading. * * @var string|null * * @deprecated */ protected static $defaultName = 'make:component'; /** * The console command description. * * @var string */ protected $description = 'Create a new view component class'; /** * The type of class being generated. * * @var string */ protected $type = 'Component'; /** * Execute the console command. * * @return void */ public function handle() { if ($this->option('view')) { $this->writeView(function () { $this->components->info($this->type.' created successfully.'); }); return; } if (parent::handle() === false && ! $this->option('force')) { return false; } if (! $this->option('inline')) { $this->writeView(); } } /** * Write the view for the component. * * @param callable|null $onSuccess * @return void */ protected function writeView($onSuccess = null) { $path = $this->viewPath( str_replace('.', '/', 'components.'.$this->getView()).'.blade.php' ); if (! $this->files->isDirectory(dirname($path))) { $this->files->makeDirectory(dirname($path), 0777, true, true); } if ($this->files->exists($path) && ! $this->option('force')) { $this->components->error('View already exists.'); return; } file_put_contents( $path, '<div> <!-- '.Inspiring::quotes()->random().' --> </div>' ); if ($onSuccess) { $onSuccess(); } } /** * Build the class with the given name. * * @param string $name * @return string */ protected function buildClass($name) { if ($this->option('inline')) { return str_replace( ['DummyView', '{{ view }}'], "<<<'blade'\n<div>\n <!-- ".Inspiring::quotes()->random()." -->\n</div>\nblade", parent::buildClass($name) ); } return str_replace( ['DummyView', '{{ view }}'], 'view(\'components.'.$this->getView().'\')', parent::buildClass($name) ); } /** * Get the view name relative to the components directory. * * @return string view */ protected function getView() { $name = str_replace('\\', '/', $this->argument('name')); return collect(explode('/', $name)) ->map(function ($part) { return Str::kebab($part); }) ->implode('.'); } /** * Get the stub file for the generator. * * @return string */ protected function getStub() { return $this->resolveStubPath('/stubs/view-component.stub'); } /** * Resolve the fully-qualified path to the stub. * * @param string $stub * @return string */ protected function resolveStubPath($stub) { return file_exists($customPath = $this->laravel->basePath(trim($stub, '/'))) ? $customPath : __DIR__.$stub; } /** * Get the default namespace for the class. * * @param string $rootNamespace * @return string */ protected function getDefaultNamespace($rootNamespace) { return $rootNamespace.'\View\Components'; } /** * Get the console command options. * * @return array */ protected function getOptions() { return [ ['force', 'f', InputOption::VALUE_NONE, 'Create the class even if the component already exists'], ['inline', null, InputOption::VALUE_NONE, 'Create a component that renders an inline view'], ['view', null, InputOption::VALUE_NONE, 'Create an anonymous component with only a view'], ]; } }
[-] EnvironmentCommand.php
[edit]
[-] ShowModelCommand.php
[edit]
[-] ConsoleMakeCommand.php
[edit]
[-] RouteClearCommand.php
[edit]
[-] AboutCommand.php
[edit]
[-] MailMakeCommand.php
[edit]
[-] ConfigCacheCommand.php
[edit]
[-] CastMakeCommand.php
[edit]
[+]
..
[-] ObserverMakeCommand.php
[edit]
[-] VendorPublishCommand.php
[edit]
[-] QueuedCommand.php
[edit]
[-] RouteListCommand.php
[edit]
[-] NotificationMakeCommand.php
[edit]
[-] StorageLinkCommand.php
[edit]
[-] DownCommand.php
[edit]
[-] ComponentMakeCommand.php
[edit]
[-] ChannelMakeCommand.php
[edit]
[-] ResourceMakeCommand.php
[edit]
[-] EnvironmentEncryptCommand.php
[edit]
[-] Kernel.php
[edit]
[-] ServeCommand.php
[edit]
[-] EventListCommand.php
[edit]
[-] RequestMakeCommand.php
[edit]
[-] ConfigClearCommand.php
[edit]
[-] OptimizeClearCommand.php
[edit]
[-] TestMakeCommand.php
[edit]
[-] EventGenerateCommand.php
[edit]
[-] RuleMakeCommand.php
[edit]
[-] PolicyMakeCommand.php
[edit]
[-] KeyGenerateCommand.php
[edit]
[-] ListenerMakeCommand.php
[edit]
[-] EnvironmentDecryptCommand.php
[edit]
[-] ViewClearCommand.php
[edit]
[-] ModelMakeCommand.php
[edit]
[-] EventClearCommand.php
[edit]
[-] ProviderMakeCommand.php
[edit]
[-] OptimizeCommand.php
[edit]
[-] EventMakeCommand.php
[edit]
[-] ExceptionMakeCommand.php
[edit]
[-] ViewCacheCommand.php
[edit]
[-] JobMakeCommand.php
[edit]
[-] StubPublishCommand.php
[edit]
[+]
stubs
[-] ClearCompiledCommand.php
[edit]
[-] UpCommand.php
[edit]
[-] RouteCacheCommand.php
[edit]
[-] EventCacheCommand.php
[edit]
[-] ScopeMakeCommand.php
[edit]
[-] CliDumper.php
[edit]
[-] DocsCommand.php
[edit]
[-] ClosureCommand.php
[edit]
[-] PackageDiscoverCommand.php
[edit]