Process.php 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. <?php
  2. namespace Illuminate\Support\Facades;
  3. use Closure;
  4. use Illuminate\Process\Factory;
  5. /**
  6. * @method static \Illuminate\Process\PendingProcess command(array|string $command)
  7. * @method static \Illuminate\Process\PendingProcess path(string $path)
  8. * @method static \Illuminate\Process\PendingProcess timeout(int $timeout)
  9. * @method static \Illuminate\Process\PendingProcess idleTimeout(int $timeout)
  10. * @method static \Illuminate\Process\PendingProcess forever()
  11. * @method static \Illuminate\Process\PendingProcess env(array $environment)
  12. * @method static \Illuminate\Process\PendingProcess input(\Traversable|resource|string|int|float|bool|null $input)
  13. * @method static \Illuminate\Process\PendingProcess quietly()
  14. * @method static \Illuminate\Process\PendingProcess tty(bool $tty = true)
  15. * @method static \Illuminate\Process\PendingProcess options(array $options)
  16. * @method static \Illuminate\Contracts\Process\ProcessResult run(array|string|null $command = null, callable|null $output = null)
  17. * @method static \Illuminate\Process\InvokedProcess start(array|string|null $command = null, callable|null $output = null)
  18. * @method static bool supportsTty()
  19. * @method static \Illuminate\Process\PendingProcess withFakeHandlers(array $fakeHandlers)
  20. * @method static \Illuminate\Process\PendingProcess|mixed when(\Closure|mixed|null $value = null, callable|null $callback = null, callable|null $default = null)
  21. * @method static \Illuminate\Process\PendingProcess|mixed unless(\Closure|mixed|null $value = null, callable|null $callback = null, callable|null $default = null)
  22. * @method static \Illuminate\Process\FakeProcessResult result(array|string $output = '', array|string $errorOutput = '', int $exitCode = 0)
  23. * @method static \Illuminate\Process\FakeProcessDescription describe()
  24. * @method static \Illuminate\Process\FakeProcessSequence sequence(array $processes = [])
  25. * @method static bool isRecording()
  26. * @method static \Illuminate\Process\Factory recordIfRecording(\Illuminate\Process\PendingProcess $process, \Illuminate\Contracts\Process\ProcessResult $result)
  27. * @method static \Illuminate\Process\Factory record(\Illuminate\Process\PendingProcess $process, \Illuminate\Contracts\Process\ProcessResult $result)
  28. * @method static \Illuminate\Process\Factory preventStrayProcesses(bool $prevent = true)
  29. * @method static bool preventingStrayProcesses()
  30. * @method static \Illuminate\Process\Factory assertRan(\Closure|string $callback)
  31. * @method static \Illuminate\Process\Factory assertRanTimes(\Closure|string $callback, int $times = 1)
  32. * @method static \Illuminate\Process\Factory assertNotRan(\Closure|string $callback)
  33. * @method static \Illuminate\Process\Factory assertDidntRun(\Closure|string $callback)
  34. * @method static \Illuminate\Process\Factory assertNothingRan()
  35. * @method static \Illuminate\Process\Pool pool(callable $callback)
  36. * @method static \Illuminate\Contracts\Process\ProcessResult pipe(callable|array $callback, callable|null $output = null)
  37. * @method static \Illuminate\Process\ProcessPoolResults concurrently(callable $callback, callable|null $output = null)
  38. * @method static \Illuminate\Process\PendingProcess newPendingProcess()
  39. * @method static void macro(string $name, object|callable $macro)
  40. * @method static void mixin(object $mixin, bool $replace = true)
  41. * @method static bool hasMacro(string $name)
  42. * @method static void flushMacros()
  43. * @method static mixed macroCall(string $method, array $parameters)
  44. *
  45. * @see \Illuminate\Process\PendingProcess
  46. * @see \Illuminate\Process\Factory
  47. */
  48. class Process extends Facade
  49. {
  50. /**
  51. * Get the registered name of the component.
  52. *
  53. * @return string
  54. */
  55. protected static function getFacadeAccessor()
  56. {
  57. return Factory::class;
  58. }
  59. /**
  60. * Indicate that the process factory should fake processes.
  61. *
  62. * @param \Closure|array|null $callback
  63. * @return \Illuminate\Process\Factory
  64. */
  65. public static function fake(Closure|array|null $callback = null)
  66. {
  67. return tap(static::getFacadeRoot(), function ($fake) use ($callback) {
  68. static::swap($fake->fake($callback));
  69. });
  70. }
  71. }