Viết Class kết nối và hướng đối tượng trong PHP
Lập trình hướng đối tượng trong PHP là điều khá phổ biến để tránh tình trạng viết đi viết lại nhiều lần những việc làm trùng lặp cho nên việc viêt OOP trong PHP là điều rất cần thiết.Class kết nối bằng PHP hướng đối tượng
Đầu tiên chúng ta khởi tạo các hằng bên 1 file config chẳn hạn để người dùng tiện khai báo và không ảnh hưởng gì đến code chúng ta.
Tạo file config.php
Define("Tên hằng","Giá trị");
Sau đó chúng ta dẫn file config.php sang function.php để kết nối dữ liệu bằng cách gọi đến file function.php là xong.
Tạo file Function.php
Require_once("config.php);
Sau đó các bạn tạo như sau trong file function.php
Class DB { private $dbhost=db_host;
private $dbuser=db_user;
private $dbpass=db_pass;
private $dbdata=db_data;
private $connection; }
5 biến trên được khởi tạo để lưu trữ các giá trị kết nối cơ sở dữ liệu.
Lưu ý : Nếu như các bạn muốn truyền 1 biến định sẵn từ 1 file khác đến Class trong PHP thì các bạn phải dùng hằng trong PHP để xử lý nhé.
Tiếp theo các bạn sẽ khởi tạo hàm kết nối cơ sở dữ liệu.
public function connect() { $this->connection=mysql_connect($this->dbhost,$this->dbuser,$this->dbpass); if(!$this->connection) { die("Kết nối không thành công"); } else { mysql_select_db($this->dbdata); mysql_query("SET CHARACTER SET utf8"); } }
Tiếp theo chúng ta khởi tạo hàm autoload . Khi gọi đến file function.php sẽ chạy luôn kết nối.
public function __construct()
{
$this->connect();
}
Tiếp theo trong file function.php các bạn sẽ khởi tạo hàm query để thực thi câu truy vấn mysql nhé.
public function query($query)
{
$this->result=mysql_query($query,$this->connection);
if(!$this->result)
{
$output="Data query fail: ";
die($output);
}
return $this->result;
}
Một hàm Fetch để đưa dữ liệu ra bên ngoài.
public function fetch() { if($this->result) { $rows=array(); $rows=mysql_fetch_array($this->result); } return $rows; }
Lưu ý hàm này chỉ trả về 1 dòng . cho nên các bạn phải dùng vòng lặp để lặp dữ liệu ra nhé.
Tổng hợp file function.php
Từ các function trên chúng ta được 1 file function.php như sau.
Cách sử dụng class trong php.<?phprequire_once("config.php");Class DB{private $dbhost=db_host;
private $dbuser=db_user;
private $dbpass=db_pass;
private $dbdata=db_data;
private $connection;
public function __construct()
{
$this->connect();
}
public function connect()
{
$this->connection=mysql_connect($this->dbhost,$this->dbuser,$this->dbpass);
if(!$this->connection)
{
die("Kết nối không thành công");
}
else
{
mysql_select_db($this->dbdata);
mysql_query("SET CHARACTER SET utf8");
}
}}
vẫn trong file function.php và các bạn viết như sau:
public function vidu() { return $this->query("select * from vidu"); }Bây giờ mình chỉ muốn lấy dòng thôi.
Mình sẽ tạo trang index.php
require_once("include/function.php"); $db=new DB; -> khai báo class bên function. $db->vidu(); $rows=$db->fetch(); echo $rows['hoten'];
Như vậy mình đã trình bày xong về hướng đối tượng trong PHP với các Class kết nối dữ liệu nếu bạn nào chưa biết cơ bản về hướng đối tượng trong php thì đọc bài này nhé.
http://donbadao.blogspot.com/2014/09/lap-trinh-huong-doi-tuong-trong-php.html