for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php declare(strict_types=1);
/*
* This file is part of the KleijnWeb\PhpApi\Hydrator package.
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace KleijnWeb\PhpApi\Hydrator\Processors\Factory;
/**
* @author John Kleijn <[email protected]>
class FactoryQueue extends \SplPriorityQueue
{
* @var int
protected $serial = PHP_INT_MAX;
* PriorityQueue constructor.
* @param Factory[] ...$factories
public function __construct(Factory ...$factories)
foreach ($factories as $factory) {
$this->add($factory);
$factory
array<integer,object<Kle...ssors\Factory\Factory>>
object<KleijnWeb\PhpApi\...essors\Factory\Factory>
It seems like the type of the argument is not accepted by the function/method which you are calling.
In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.
We suggest to add an explicit type cast like in the following example:
function acceptsInteger($int) { } $x = '123'; // string "123" // Instead of acceptsInteger($x); // we recommend to use acceptsInteger((integer) $x);
}
* @param Factory $factory
public function add(Factory $factory)
$this->insert($factory, $factory->getPriority());
* @param mixed $value
* @param mixed $priority
public function insert($value, $priority)
parent::insert($value, [$priority, $this->serial--]);
It seems like the type of the argument is not accepted by the function/method which you are calling.
In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.
We suggest to add an explicit type cast like in the following example: