ManaPHP\Db::__construct PHP Method

__construct() public method

\ManaPHP\Db\Adapter constructor
public __construct ( array $options )
$options array
    public function __construct($options)
    {
        if (is_object($options)) {
            $options = (array) $options;
        }
        if (!isset($options['options'])) {
            $options['options'] = [];
        }
        $this->_options = $options['options'];
        $this->_options[\PDO::ATTR_ERRMODE] = \PDO::ERRMODE_EXCEPTION;
        $this->_username = isset($options['username']) ? $options['username'] : null;
        $this->_password = isset($options['password']) ? $options['password'] : null;
        unset($options['username'], $options['password'], $options['options']);
        if (isset($options['dsn'])) {
            $this->_dsn = $options['dsn'];
        } else {
            $dsn_parts = [];
            foreach ($options as $k => $v) {
                $dsn_parts[] = $k . '=' . $v;
            }
            $this->_dsn = implode(';', $dsn_parts);
        }
        $this->_pdo = new \PDO($this->_type . ':' . $this->_dsn, $this->_username, $this->_password, $this->_options);
    }

Usage Example

Exemplo n.º 1
0
 /**
  * \ManaPHP\Db\Adapter constructor
  *
  * @param array|\ConfManaPHP\Db\Adapter\Mysql $options
  */
 public function __construct($options)
 {
     $this->_type = 'mysql';
     if (is_object($options)) {
         $options = (array) $options;
     }
     /** @noinspection AdditionOperationOnArraysInspection */
     $defaultOptions = ['host' => 'localhost', 'port' => 3306, 'username' => 'root', 'password' => '', 'options' => []];
     $options = array_merge($defaultOptions, $options);
     if (!isset($options['options'][\PDO::MYSQL_ATTR_INIT_COMMAND])) {
         $options['options'][\PDO::MYSQL_ATTR_INIT_COMMAND] = "SET NAMES 'UTF8'";
     }
     parent::__construct($options);
 }
All Usage Examples Of ManaPHP\Db::__construct