for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Vine\Commands;
use Vine\Node;
class Move
{
/**
* Move a child node to a different parent
*
* @param Node $node
* @param Node $parent
* @return Node
*/
public function __invoke(Node $node, Node $parent): Node
if(!$node->isRoot()) $node->parent()->remove($node);
$node
object<Vine\Node>
null|object<self>
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);
$parent->addChildren($node);
array|object<Vine\NodeCollection>
return $node;
}
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: