News

Process Facade Coming to Laravel 10

Published
Process Facade Coming to Laravel 10 image

Laravel 10, due out next week, will introduce a Process layer for Laravel. Like the HTTP facade makes working with APIs a cinch, the Process service will make working with, testing, and running CLI processes a dream to work with. You can see the basic usage of this feature in the following example from Pull Request #45314 by Taylor Otwell:

use Illuminate\Support\Facades\Process;
 
$result = Process::run('ls -la');
 
$result->successful();
$result->failed();
$result->exitCode();
$result->output();
$result->errorOutput();
$result->throw();
$result->throwIf($condition);

The Process layer includes rich features out of the box, such as:

  • Fluent process methods to build a process instance before running it
  • Process output handling as it is received
  • Asynchronous processes
  • Process Pools
  • Rich testing features via fake()
  • Preventing stray processes during tests

Testing processes has never been easier, and I am excited for the code API around testing processes that you run in your applications:

Process::fake([
'ls *' => Process::result('Hello World'),
]);
 
$result = Process::run('ls -la');
 
Process::assertRan(function ($process, $result) {
return $process->command == 'ls -la';
});
 
Process::assertRanTimes(function ($process, $result) {
return $process->command == 'ls -la';
}, times: 1);
 
Process::assertNotRan(function ($process, $result) {
return $process->command == 'cat foo';
});

Check out Pull Request #45314 for implementation details and plenty of examples. This feature will surely be documented with the release of Laravel 10. A hat tip to Nuno Maduro and Taylor Otwell for adding Process to Laravel 10, it looks amazing!

Paul Redmond photo

Staff writer at Laravel News. Full stack web developer and author.

Sponsored

acquaintsoft logo
Acquaint Softtech

Hire Laravel developers with AI expertise at $20/hr. Get started in 48 hours.

Visit Acquaint Softtech

The latest

View all →
Fluent Rule Builders for All Laravel Validation Rules image

Fluent Rule Builders for All Laravel Validation Rules

Read article
Laravel URL AI Transformer: Extract Structured Data From URLs image

Laravel URL AI Transformer: Extract Structured Data From URLs

Read article
Rule Builders for Every Validation Rule in Laravel 13.36 image

Rule Builders for Every Validation Rule in Laravel 13.36

Read article
PHP News: A New Site for PHP Releases, RFCs, and Packages image

PHP News: A New Site for PHP Releases, RFCs, and Packages

Read article
Pause Polling in Background Tabs in Inertia.js v3.9 image

Pause Polling in Background Tabs in Inertia.js v3.9

Read article
Look What You Helped Me Build image

Look What You Helped Me Build

Read article