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

namespace IlluminateProcess;

use 
IlluminateContractsProcessProcessResult as ProcessResultContract;
use 
IlluminateProcessExceptionsProcessFailedException;
use 
SymfonyComponentProcessProcess;

class 
ProcessResult implements ProcessResultContract
{
    
/**
     * The underlying process instance.
     *
     * @var SymfonyComponentProcessProcess
     */
    
protected $process;

    
/**
     * Create a new process result instance.
     *
     * @param  SymfonyComponentProcessProcess  $process
     * @return void
     */
    
public function __construct(Process $process)
    {
        
$this->process $process;
    }

    
/**
     * Get the original command executed by the process.
     *
     * @return string
     */
    
public function command()
    {
        return 
$this->process->getCommandLine();
    }

    
/**
     * Determine if the process was successful.
     *
     * @return bool
     */
    
public function successful()
    {
        return 
$this->process->isSuccessful();
    }

    
/**
     * Determine if the process failed.
     *
     * @return bool
     */
    
public function failed()
    {
        return ! 
$this->successful();
    }

    
/**
     * Get the exit code of the process.
     *
     * @return int|null
     */
    
public function exitCode()
    {
        return 
$this->process->getExitCode();
    }

    
/**
     * Get the standard output of the process.
     *
     * @return string
     */
    
public function output()
    {
        return 
$this->process->getOutput();
    }

    
/**
     * Determine if the output contains the given string.
     *
     * @param  string  $output
     * @return bool
     */
    
public function seeInOutput(string $output)
    {
        return 
str_contains($this->output(), $output);
    }

    
/**
     * Get the error output of the process.
     *
     * @return string
     */
    
public function errorOutput()
    {
        return 
$this->process->getErrorOutput();
    }

    
/**
     * Determine if the error output contains the given string.
     *
     * @param  string  $output
     * @return bool
     */
    
public function seeInErrorOutput(string $output)
    {
        return 
str_contains($this->errorOutput(), $output);
    }

    
/**
     * Throw an exception if the process failed.
     *
     * @param  callable|null  $callback
     * @return $this
     *
     * @throws IlluminateProcessExceptionsProcessFailedException
     */
    
public function throw(?callable $callback null)
    {
        if (
$this->successful()) {
            return 
$this;
        }

        
$exception = new ProcessFailedException($this);

        if (
$callback) {
            
$callback($this$exception);
        }

        throw 
$exception;
    }

    
/**
     * Throw an exception if the process failed and the given condition is true.
     *
     * @param  bool  $condition
     * @param  callable|null  $callback
     * @return $this
     *
     * @throws Throwable
     */
    
public function throwIf(bool $condition, ?callable $callback null)
    {
        if (
$condition) {
            return 
$this->throw($callback);
        }

        return 
$this;
    }
}
Онлайн: 1
Реклама