Вход Регистрация
Файл: vendor/laravel/framework/src/Illuminate/Foundation/DevCommand.php
Строк: 160
<?php

namespace IlluminateFoundation;

class 
DevCommand
{
    
/**
     * The priority level for default commands that are registered by the framework.
     */
    
const PRIORITY_DEFAULT 0;

    
/**
     * The priority level for commands that are registered by packages in the vendor directory.
     */
    
const PRIORITY_VENDOR 1;

    
/**
     * The priority level for commands that are registered by the user in their application.
     */
    
const PRIORITY_USERLAND 2;

    
/**
     * Color of the command when output to the console.
     *
     * @var string|null
     */
    
protected ?string $color null;

    
/**
     * Create a new DevCommand instance.
     *
     * @param  string  $command
     * @param  array{'file': string, 'line': int, 'class'?: string, 'function'?: string}  $source
     * @param  string|null  $name
     * @param  self::PRIORITY_DEFAULT|self::PRIORITY_VENDOR|self::PRIORITY_USERLAND  $priority
     * @return void
     */
    
public function __construct(
        protected 
string $command,
        protected array 
$source,
        protected ?
string $name null,
        protected 
int $priority self::PRIORITY_USERLAND,
    ) {
        
$this->name ??= self::nameFromCommand($command);
    }

    
/**
     * Derive the name from a command string.
     *
     * @param  string  $command
     * @return string
     */
    
public static function nameFromCommand(string $command): string
    
{
        return 
strstr($command' 'true) ?: $command;
    }

    
/**
     * Get the command name.
     *
     * @return string
     */
    
public function name(): string
    
{
        return 
$this->name;
    }

    
/**
     * Get the command priority.
     *
     * @return int
     */
    
public function priority(): int
    
{
        return 
$this->priority;
    }

    
/**
     * Set the command color.
     *
     * @param  string  $color
     * @return self
     */
    
public function color(string $color): self
    
{
        
$this->color $color;

        return 
$this;
    }

    
/**
     * Set the command color to blue.
     *
     * @return self
     */
    
public function blue(): self
    
{
        return 
$this->color(DevCommandColor::BLUE->value);
    }

    
/**
     * Set the command color to purple.
     *
     * @return self
     */
    
public function purple(): self
    
{
        return 
$this->color(DevCommandColor::PURPLE->value);
    }

    
/**
     * Set the command color to pink.
     *
     * @return self
     */
    
public function pink(): self
    
{
        return 
$this->color(DevCommandColor::PINK->value);
    }

    
/**
     * Set the command color to orange.
     *
     * @return self
     */
    
public function orange(): self
    
{
        return 
$this->color(DevCommandColor::ORANGE->value);
    }

    
/**
     * Set the command color to green.
     *
     * @return self
     */
    
public function green(): self
    
{
        return 
$this->color(DevCommandColor::GREEN->value);
    }

    
/**
     * Set the command color to yellow.
     *
     * @return self
     */
    
public function yellow(): self
    
{
        return 
$this->color(DevCommandColor::YELLOW->value);
    }

    
/**
     * Get the command as an array.
     *
     * @return array{command: string, name: string, color: string|null, source: array{'file': string, 'line': int, 'class'?: string, 'function'?: string}, priority: int}
     */
    
public function toArray(): array
    {
        return [
            
'command' => $this->command,
            
'name' => $this->name,
            
'color' => $this->color,
            
'source' => $this->source,
            
'priority' => $this->priority,
        ];
    }
}
Онлайн: 2
Реклама