. */ namespace Doctrine\DBAL\Types; use Doctrine\DBAL\Platforms\AbstractPlatform; /** * Array Type which can be used to generate json arrays. * * @since 2.3 * @author Johannes M. Schmitt */ class JsonArrayType extends Type { public function getSQLDeclaration(array $fieldDeclaration, AbstractPlatform $platform) { return $platform->getClobTypeDeclarationSQL($fieldDeclaration); } public function convertToDatabaseValue($value, AbstractPlatform $platform) { if (null === $value) { return null; } return json_encode($value); } public function convertToPHPValue($value, AbstractPlatform $platform) { if ($value === null) { return array(); } $value = (is_resource($value)) ? stream_get_contents($value) : $value; return json_decode($value, true); } public function getName() { return Type::JSON_ARRAY; } public function requiresSQLCommentHint(AbstractPlatform $platform) { return true; } }