note 110709 added to class.pdo

From: Date: Mon, 26 Nov 2012 18:49:29 +0000
Subject: note 110709 added to class.pdo
Groups: php.notes 
Request: Send a blank email to php-notes+get-192150@lists.php.net to get a copy of this message
Here is small extension of PDO that introduces two new properties: driver and driver_parameters. The first one keeps info about driver used for connection (thus informing which database is used) and the second keeps all other parameters sent to driver. This could be helpful when PDO is used in multidatabase environment and there is need to adjust some code regarding database type. class cPDO extends PDO { private $driver; private $driver_parameters; public function __construct($p_dsn, $p_username='', $p_password='', $p_driver_options=Array() ) { $m_parsed_dsn = parse_url ($p_dsn); $this->driver=strtolower ($m_parsed_dsn['scheme']); $m_params = explode (';', $m_parsed_dsn['path']); foreach ($m_params as $m_key => $m_item) { if ( ($m_key == 0) && ($this->driver == 'sqlite') ) { $this->driver_parameters['host'] = trim ($m_item); } else { $m_split = explode ('=', trim ($m_item)); $this->driver_parameters[trim ($m_split[0])] = trim ($m_split[1]); } } parent::__construct( $p_dsn, $p_username, $p_password, $p_driver_options ); } public function __get($p_name) { return $this->{$p_name}; } } ---- Server IP: 69.147.83.199 Probable Submitter: 91.150.127.112 ---- Manual Page -- http://www.php.net/manual/en/class.pdo.php Edit -- https://master.php.net/note/edit/110709 Del: integrated -- https://master.php.net/note/delete/110709/integrated Del: useless -- https://master.php.net/note/delete/110709/useless Del: bad code -- https://master.php.net/note/delete/110709/bad+code Del: spam -- https://master.php.net/note/delete/110709/spam Del: non-english -- https://master.php.net/note/delete/110709/non-english Del: in docs -- https://master.php.net/note/delete/110709/in+docs Del: other reasons-- https://master.php.net/note/delete/110709 Reject -- https://master.php.net/note/reject/110709 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#192150) next »