ไลบรารี PHP ที่ช่วยให้คุณสามารถสร้างและกำหนดโมเดลของคุณโดยใช้ PDO ได้อย่างง่ายดาย
FETCH_INTO
ทำได้ง่าย $ composer require lodev09/php-models
คลาส ModelsDB
หลักคือ wrapper PDO ที่ใช้เพื่อทำให้ CRUD ง่ายขึ้นมาก มันเป็นรหัสที่แยกจาก php-pdo-wrapper-class
// connect to your database. Store the $db instance globally -- you only need to connect to your db ONCE!
$ db = new Models DB ( DB_HOST , DB_NAME , DB_USER , DB_PASSWORD );
วิธีการ CRUD ที่มีอยู่
$db->insert($sql, $binds)
หรือ $db->insert($table, $values)
$db->select($sql, $binds)
$db->row($sql, $binds)
(เหมือนกับ select
แต่จะคืนค่าแถวเดียว)$db->update($sql, $binds)
หรือ $db->update('table', $values)
$db->delete($sql, $binds)
หรือ $db->delete('table', $filters)
สไตล์เริ่มต้นคือ PDO::FETCH_OBJ
ตัวอย่าง:
$ users = $ db -> select ( " SELECT * FROM users WHERE active = 1 AND username = :username " , array ( ' username ' => ' lodev09 ' ));
var_dump ( $ users );
คลาส ModelsModel
เป็นคลาสพาเรนต์ที่สามารถสืบทอดไปยังคลาส Model ได้ การสืบทอดคลาสนี้ทำให้คุณสามารถแมปผลลัพธ์ "แถว" เข้ากับคลาสโมเดลของคุณ (ตาราง) ได้โดยอัตโนมัติ โดยทั่วไปคลาสนี้จะใช้สไตล์ PDO::FETC_INTO
และทำให้มันง่ายขึ้นสำหรับคุณ ต่อไปนี้เป็นขั้นตอนในการเชื่อมโยงตารางของคุณเข้ากับชั้นเรียน:
ModelsDB
(ดูด้านบน) $ db = new Models DB ( DB_HOST , DB_NAME , DB_USER , DB_PASSWORD );
Models Model:: setDb ( $ db );
User.php
namespace Models ;
class User extends Model {
public function getName () {
return $ this -> name ;
}
}
// somewhere in your init.php
Models User:: register ( ' users ' );
ตอนนี้คุณสามารถรับอินสแตนซ์ User
โดยตรงจากแบบสอบถาม ตัวอย่าง:
$ user = Models User:: row ( " SELECT id, name FROM users WHERE id = 1 AND active = 1 " );
// you can call the getName() method now
if ( $ user ) {
$ name = $ user -> getName ();
echo ' His name is ' . $ name ;
}
ยินดีต้อนรับข้อบกพร่อง คำขอคุณลักษณะ คำขอดึง ข้อเสนอแนะ ฯลฯ ทั้งหมด เยี่ยมชมเว็บไซต์ของฉันที่ www.lodev09.com หรือส่งอีเมลถึงฉันที่ [email protected]
© 2018 - เขียนโดย Jovanni Lo / @ lodev09
เผยแพร่ภายใต้ใบอนุญาต MIT ดูไฟล์ใบอนุญาต