for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace UniMan\Drivers\RabbitMQ\Forms;
use UniMan\Core\Forms\ItemForm\ItemFormInterface;
use Nette\Application\UI\Form;
use Nette\Utils\ArrayHash;
use PhpAmqpLib\Connection\AMQPStreamConnection;
class RabbitMQQueueForm implements ItemFormInterface
{
private $connection;
public function __construct(AMQPStreamConnection $connection)
$this->connection = $connection;
}
public function addFieldsToForm(Form $form)
$form->addText('queue', 'rabbitmq.queue_form.queue.label')
->setRequired('rabbitmq.queue_form.queue.required');
'rabbitmq.queue_form.queue.required'
string
boolean
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);
public function submit(Form $form, ArrayHash $values)
$channel = $this->connection->channel();
$channel->queue_declare($values['queue'], false, false, false, false);
$channel->close();
$this->connection->close();
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: