schmunk42\giiant\helpers\GiiantFaker::value PHP Method

value() public static method

Returns Faker value.
public static value ( string $type = self::TYPE_STRING, string $methodName = '', null $format = null ) : mixed
$type string model's attribute type
$methodName string model's attribute type trying to match Faker's method name
$format null custom data format used in Faker
return mixed
    public static function value($type = self::TYPE_STRING, $methodName = '', $format = null)
    {
        self::create();
        $preferredValue = self::provider($type, $methodName);
        if ($preferredValue !== null) {
            return $preferredValue;
        }
        switch ($type) {
            case self::TYPE_INTEGER:
                return self::$fakerFactory->randomNumber;
            case self::TYPE_NUMBER:
                return self::$fakerFactory->randomFloat;
            case self::TYPE_BOOLEAN:
                return self::$fakerFactory->boolean;
            case self::TYPE_DATE:
                $format = $format === null ? self::FORMAT_DATE : $format;
                return self::$fakerFactory->date($format);
            case self::TYPE_TIME:
                $format = $format === null ? self::FORMAT_TIME : $format;
                return self::$fakerFactory->time($format);
            case self::TYPE_DATETIME:
                $format = $format === null ? self::FORMAT_DATETIME : $format;
                return self::$fakerFactory->dateTime()->format($format);
            case self::TYPE_TIMESTAMP:
                $format = $format === null ? self::FORMAT_TIMESTAMP : $format;
                return self::$fakerFactory->dateTime()->format($format);
            default:
                return self::$fakerFactory->word;
        }
    }

Usage Example

Example #1
0
 public function testValueWithTimestampType()
 {
     $value = GiiantFaker::value(GiiantFaker::TYPE_TIMESTAMP);
     $this->specify('returned value is string containing timestamp', function () use($value) {
         expect('value is not empty', $value)->notEmpty();
         expect('value is string', is_string($value))->true();
         \DateTime::createFromFormat(GiiantFaker::FORMAT_TIMESTAMP, $value);
     });
 }