<?php

require_once __DIR__ . '/../vendor/autoload.php';
use Knagg0\ProcessPromises\Manager;
use Symfony\Component\Process\PhpProcess;
$process1 = new PhpProcess('<?php sleep(2); echo "1";');
$process2 = new PhpProcess('<?php sleep(1); echo "2";');
$process3 = new PhpProcess('<?php sleep(3); echo "3";');
$manager = new Manager();
$promise1 = $manager->start($process1);
$promise2 = $manager->start($process2);
$promise3 = $manager->start($process3);
$promise2->done(function ($result) {
    echo "Process 2 done: " . $result . "\n";
});
$when = $manager->when(array($promise1, $promise3));
$when->done(function ($results) {
    echo "Process 1 + 3 done: " . implode(', ', $results) . "\n";
});
$manager->wait();
<?php

require_once __DIR__ . '/../vendor/autoload.php';
use Knagg0\ProcessPromises\Manager;
use Symfony\Component\Process\PhpProcess;
$process1 = new PhpProcess('<?php sleep(1); echo "1";');
$process2 = new PhpProcess('<?php sleep(3); echo "2";');
$process3 = new PhpProcess('<?php sleep(2); echo "3";');
$manager = new Manager();
$promise1 = $manager->start($process1);
$promise2 = $manager->start($process2);
$promise3 = $manager->start($process3);
$promise1->done(function ($result) {
    echo "Process 1 done: " . $result . "\n";
});
$promise2->done(function ($result) {
    echo "Process 2 done: " . $result . "\n";
});
$promise3->done(function ($result) {
    echo "Process 3 done: " . $result . "\n";
});
$manager->wait();
示例#3
0
 public function testWhen()
 {
     $this->assertInstanceOf('Knagg0\\ProcessPromises\\When', $this->manager->when(array()));
 }
<?php

require_once __DIR__ . '/../vendor/autoload.php';
use Knagg0\ProcessPromises\Manager;
use Symfony\Component\Process\PhpProcess;
$process = new PhpProcess('<?php echo "Hello World";');
$manager = new Manager();
$promise = $manager->start($process);
$promise->done(function ($result) {
    echo "Process successful: {$result}\n";
})->fail(function ($reason) {
    echo "Process fail: {$reason}\n";
});
$manager->wait();