(isset($persist)) ? $persist : FALSE, ); if( ! isset($persist)) { unset($opts[PDO::ATTR_PERSISTENT]); } $options = array_merge($opts, $options); parent::__construct($dsn, $user, $pass, $options); } // -------------------------------------------------------------------------- /** * PHP magic method to facilitate dynamic methods * * @param string $name * @param array $args */ function __call($name, $args) { if(is_callable($this->$name)) { //Add $this to the beginning of the args array array_unshift($args, $this); //Call the dynamic function return call_user_func_array($this->$name, $args); } } // -------------------------------------------------------------------------- /** * Prints out the contents of the object when used as a string * * @return string */ function __toString() { $args = func_get_args(); $method = ( ! empty($args)) ? $args[0] : "print_r"; $output = '
';
	
		if($method == "var_dump")
		{
			ob_start();
			var_dump($this);
			$output .= ob_get_contents();
			ob_end_clean();
		}
		else if($method == "var_export")
		{
			ob_start();
			var_export($this);
			$output .= ob_get_contents();
			ob_end_clean();
		}	
		else
		{
			$output .= print_r($this, TRUE);
		}
	
		return $output . '
'; } // -------------------------------------------------------------------------- /** * Constructor without the "new" * * @param array $members */ function __invoke($db="default") { return self::get_instance($db); } } // End of db.php