Đề bài yêu cầu dCreate Query Builder is a simple, methods-chaining dependency-free library to create SQL Queries simple. Supports databases which are supported by PDO
Thực hiện bởi: Phạm Huy Hưng
Cách sử dụng kết quả trực tiếp:
composer
và PHP
db_query_builder
src/Config/Config.php
seeding_to_posts.php
và seeding_to_users.php
để khởi tạo dữ liệu.\Required package:
composer require phhung1901/simple_query_builder:dev-main
Nội dung:
<?php
use src\Config\Config;
use src\QueryBulder\QueryBuilder as DB;
use test\User;
$servername = "localhost"; $dbname = "db_query_builder"; $username = "root"; $password = "Phh1901@";
$config_val = [ 'host' => $servername, 'dbname' => $dbname, 'username' => $username, 'password' => $password ];
$config = new Config($config_val); $user = new \test\User(); ?>
- Use simple_query_builder func
```php
<?php
$result = DB::table("users")->select("name, phone")->get();
$result = DB::table("users")->get();
$result = DB::table("users")->first();
$result = DB::table('users')->select('*')->where("id", ">=", "12")->get();
$result = DB::table('users')->find(10);
$result = DB::table("users")->select("name")->orderBy("id", "DESC")->get();
$result = DB::table('users')->select("name")->count();
$result = DB::table('users')
->select("*, posts.id as post_id")
->join("posts", "users.id", "=", "posts.user_id")
// ->limit(3)
->first();
// ->get();
?>
<?php
$user = $user->from($result);
print_r($user);
?>
test\User Object
(
[original:protected] =>
[casts:protected] =>
[attributes:protected] =>
[default_casts:protected] =>
[0] => stdClass Object
(
[id] => 1
[name] => Thái Trọng
[phone] => (0199)360-7961
)
)
#### Cấu trúc thư mục
- src
- Config: PDO kết nối CSDL
- interface: chứa các interface của dto
- QueryBuilder: Class Query Builder, query method.
- test
- Các file test và khởi tạo dữ liệu
#### Kết quả thu được
- Quản lý user và database với Adminer.
- Kết nối với databases sử dụng PDO.
- Sử dụng PDO để xây dựng 1 simple query builder theo đề bài.
- Kết hợp với dto của bài trước [https://github.com/phhung1901/pdo](https://github.com/phhung1901/pdo) để tạo thành 1 package hoàn chỉnh.