Skip to content

milo/utils

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Milo's utilities

This repo is a bunch of single-purpose classes and scripts. Well, at now it is a very tiny bunch ;)

You may use all files under the terms of the New BSD Licence, or the GNU Public Licence (GPL) version 2 or 3.

All classes are defined in Milo\Utils namespace.


It is a tool for run-time class alias expanding to its fully qualified name. In brief, it is a workaround for missing ::class constant from PHP 5.5 in PHP 5.3+ and a helper for annotations processing.

AliasExpander has been moved to own repository.


Helper for conversion of PostgreSQL arrays to PHP array and vice versa.

# PHP --> PostgreSQL
$array = array('a', 'b', 'c', NULL);
PgsqlArray::toStringLiteral($array);  #  {"a","b","c",NULL}
PgsqlArray::toSql($array);            # '{"a","b","c",NULL}'


# PostgreSQL --> PHP, result array(1, 2, NULL)
PgsqlArray::fromString('{1,2,NULL}', PgsqlArray::TYPE_INTEGER); # or
PgsqlArray::fromString('{1,2,NULL}', pg_field_type(...));


# Timestamps supported, result array(object DateTime(...))
PgsqlArray::fromString('{"1920-05-06 16:24:00+01"}', PgsqlArray::TYPE_TIMESTAMP_TZ);


# Multidimensional arrays supported, result array(array(1, 2), array(3, 4), array(5, 6))
PgsqlArray::fromString('{{1,2},{3,4},{5,6}}', PgsqlArray::TYPE_INTEGER);

Note Very big integers or floats are left as string when cannot be represented in PHP native type.


Build Status

About

Bunch of single-purpose classes and scripts

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages