public function value($value, $type = null)
    {
        switch (true) {
            case is_object($value):
                if (!method_exists($value, '__toString')) {
                    throw new InvalidArgumentException('Object can not be converted to string value.');
                }
                $value = (string)$value;
                break;
            case is_bool($value):
                $value = (int)$value;
                break;
            case (is_numeric($value) && (string)($value + 0) === (string)$value):
                $value = $value + 0;
                break;
            case is_null($value):
                $value = 'NULL';
                break;
            case is_array($value):
                $value = array_map(function ($value) {
                    if (is_array($value)) {
                        $value = 'Array';
                    }
                    return $this->value($value);
                }, $value);
                $value = implode(', ', $value);
                break;
            default:
                $value = call_user_func($this->quoteFn, $value, $type);
        }

        return $value;
    }
public function value($value, $type = null)
    {
        switch (true) {
            case is_object($value):
                if (!method_exists($value, '__toString')) {
                    throw new InvalidArgumentException('Object can not be converted to string value.');
                }
                $value = (string)$value;
                break;
            case is_bool($value):
                $value = (int)$value;
                break;
            case (is_numeric($value) && (string)($value + 0) === (string)$value):
                $value = $value + 0;
                break;
            case is_null($value):
                $value = 'NULL';
                break;
            case is_array($value):
                $value = array_map(function ($value) {
                    if (is_array($value)) {
                        $value = 'Array';
                    }
                    return $this->value($value);
                }, $value);
                $value = implode(', ', $value);
                break;
            default:
                $value = call_user_func($this->quoteFn, $value, $type);
        }

        return $value;
    }
public function value ( $ value , $ type = null ) { switch ( true ) { case is_object ( $ value ) : if ( ! method_exists ( $ value , '__toString' ) ) { throw new InvalidArgumentException ( 'Object can not be converted to string value.' ) ; } $ value = ( string ) $ value ; break ; case is_bool ( $ value ) : $ value = ( int ) $ value ; break ; case ( is_numeric ( $ value ) && ( string ) ( $ value + 0 ) === ( string ) $ value ) : $ value = $ value + 0 ; break ; case is_null ( $ value ) : $ value = 'NULL' ; break ; case is_array ( $ value ) : $ value = array_map ( function ( $ value ) { if ( is_array ( $ value ) ) { $ value = 'Array' ; } return $ this -> value ( $ value ) ; } , $ value ) ; $ value = implode ( ', ' , $ value ) ; break ; default : $ value = call_user_func ( $ this -> quoteFn , $ value , $ type ) ; } return $ value ; }
Quote a database value.

@param string $value
@param integer $type
@return string
@throws InvalidArgumentException
Quote a database value .