for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace UniMan\Drivers\Redis\Forms;
use UniMan\Core\Forms\TableForm\TableFormInterface;
use Nette\Application\UI\Form;
use Nette\Utils\ArrayHash;
use RedisProxy\RedisProxy;
class RedisCreateHashForm implements TableFormInterface
{
private $connection;
public function __construct(RedisProxy $connection)
$this->connection = $connection;
}
public function addFieldsToForm(Form $form)
$form->addText('key', 'redis.hash_form.key.label')
->setRequired('redis.hash_form.key.required');
'redis.hash_form.key.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);
$form->addText('field', 'redis.hash_form.field.label')
->setRequired('redis.hash_form.field.required');
'redis.hash_form.field.required'
$form->addText('value', 'redis.hash_form.value.label')
->setRequired('redis.hash_form.value.required');
'redis.hash_form.value.required'
public function submit(Form $form, ArrayHash $values)
if ($this->connection->hlen($values['key']) > 0) {
$form->addError('Key "' . $values['key'] . '" already exists');
return;
$this->connection->hset($values['key'], $values['field'], $values['value']);
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: