<?php
$link = null;

class connectdb{
    private $host = '127.0.0.1';
    private $port = 3306;
    private $database = 'nameDatabase';
    private $username = 'usuario';
    private $password = 'password';
    public  $countRow   = 0;
    public  $countColumn = 0;
    private $msg;
    private $desarrollo = 'PROD';/*PROD = PARA MODO PRODUCCION; DESA = PARA MODO DESARROLLO*/

    public function __construct() {
        $dsn = "mysql:host=$this->host;port=$this->port;dbname=$this->database";
        try{
            if($GLOBALS["link"] === null){
                $GLOBALS["link"]= new PDO(
                                        $dsn,
                                        $this->username,
                                        $this->password,
                                        array(
                                                PDO::ATTR_PERSISTENT => false,
                    							PDO::MYSQL_ATTR_LOCAL_INFILE=>true
                                             )
                                    );

                $GLOBALS["link"]->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
                $GLOBALS["link"]->exec("set names utf8");
            }
        }catch(PDOException  $e){
            echo "ERROR: " . $e->getMessage();
        }
    }
 
    

    public function query($query){
        try {
            $statement = $GLOBALS["link"]->query($query);
            $result = $statement->fetchAll(PDO::FETCH_ASSOC);
            $this->countRow = $statement->rowCount();
            $this->countColumn = $statement->columnCount();
        } catch (PDOException $e) {
            $er = $e->getTrace();
            $bug = $er[1]['args'][0];
            if($this->desarrollo == 'DESA'){
                $result = array('error'=>'ERROR: '.$e->errorInfo[2].'<br>SP:: '.$bug);
            }elseif($this->desarrollo == 'PROD'){
                $result = array('error'=>$this->messageError($e->errorInfo[1]));
            }
        }

        return $result;
    }


 }


?>

Emplear cadena de conexion en clase:

require_once(APP_DIR_CLASS . 'connection.class.php');
class nameClase extends connectdb
{


}