Bước 6: Cập nhật lại config && tạo hàm getInstance (ok) trong class Mysql
PreviousBước 5+ Bước tạo hằng số kết nối Database (ok)NextBước 7: Tạo phương thức connect trong class Mysql (ok)
Last updated
Last updated
<?php
require_once 'database.php';
class Mysql {
var $config = array();
var $tableParameters = array(
'charset' => array(
'value' => 'DEFAULT CHARSET',
'quote' => false,
'join' => '=',
'column' => 'charset'
),
'collate' => array(
'value' => 'COLLATE',
'quote' => false,
'join' => '=',
'column' => 'Collation'
),
'engine' => array(
'value' => 'ENGINE',
'quote' => false,
'join' => '=',
'column' => 'Engine'
)
);
var $keywords = array(
'>=',
'<=',
'>',
'<',
'IN',
'NOT',
'IS',
'LIKE',
'!=',
'<>'
);
var $columns = array(
'primary_key' => array(
'name' => 'int(11) DEFAULT NULL auto_increment'
),
'string' => array(
'name' => 'varchar',
'limit' => '255'
),
'text' => array(
'name' => 'text'
),
'integer' => array(
'name' => 'int',
'limit' => '11',
'formatter' => 'intval'
),
'float' => array(
'name' => 'float',
'formatter' => 'floatval'
),
'datetime' => array(
'name' => 'datetime',
'format' => 'Y-m-d H:i:s',
'formatter' => 'date'
),
'timestamp' => array(
'name' => 'timestamp',
'format' => 'Y-m-d H:i:s',
'formatter' => 'date'
),
'time' => array(
'name' => 'time',
'format' => 'H:i:s',
'formatter' => 'date'
),
'date' => array(
'name' => 'date',
'format' => 'Y-m-d',
'formatter' => 'date'
),
'binary' => array(
'name' => 'blob'
),
'boolean' => array(
'name' => 'tinyint',
'limit' => '1'
)
);
static $instance = null;
public function __construct($config = array()) {
$this->config = $config;
}
public static function getInstance() {
$config = array(
'host' => DATABASE_HOST,
'login' => DATABASE_USERNAME,
'password' => DATABASE_PASSWORD,
'port' => DATABASE_PORT,
'database' => DATABASE_NAME,
'encoding' => 'utf8'
);
if(null === Mysql::$instance) {
Mysql::$instance = new Mysql($config);
}
return Mysql::$instance;
}
}
?>
<?php
if (!class_exists("Mysql")) require_once "Mysql.php";
if(!class_exists('Form')) require_once 'Form.php';
class AppModel {
public $form = null;
protected $rules = null;
protected $db = null;
protected $table = '';
public function __construct() {
$this->db = Mysql::getInstance();
echo '<pre>';
print_r($this->db);
echo '</pre>';
$this->form = new Form();
$this->form->setRules($this->rules);
}
};
new AppModel();
?>