static protected function getArgument($arg)
    {

        switch (mb_strtolower(gettype($arg))) {
            case 'string' :
                return ('"' . str_replace(array("\n", "\""), array('', '\"'), $arg) . '"');

            case 'boolean' :
                return ( bool )$arg;

            case 'object' :
                return 'object(' . get_class($arg) . ')';

            case 'array' :
                return 'array[' . count($arg) . ']';

            case 'resource' :
                return 'resource(' . get_resource_type($arg) . ')';

            default :
                return var_export($arg, true);
        }
    }