for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Port\Steps;
/**
* Overrides \SplPriorityQueue in order to enforcing predictable queue order for elements with the same priority
*
* @see https://bugs.php.net/bug.php?id=53710
* @see https://mwop.net/blog/253-Taming-SplPriorityQueue.html
*/
class PriorityQueue extends \SplPriorityQueue
{
private $queueOrder = PHP_INT_MAX;
public function insert($value, $priority)
if (is_int($priority)) {
$priority = [$priority, $this->queueOrder--];
}
parent::insert($value, $priority);