for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace RichardStyles\EloquentEncryption\Casts;
class EncryptedFloat extends Encrypted
{
/**
* Cast the given value and decrypt
*
* @param \Illuminate\Database\Eloquent\Model $model
* @param string $key
* @param mixed $value
* @param array $attributes
* @return int
*/
public function get($model, $key, $value, $attributes)
return $this->fromFloat(parent::get($model, $key, $value, $attributes));
}
* Prepare the given value for storage.
* @param float $value
* @return string
public function set($model, $key, $value, $attributes)
return parent::set($model, $key, $value, $attributes);
$value
double
array
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);
* Decode the given float.
* @return mixed
public function fromFloat($value)
switch ((string)$value) {
case 'Infinity':
return INF;
case '-Infinity':
return -INF;
case 'NaN':
return NAN;
default:
return (float)$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: