php sqlite driver
نمونه اسکریپت ایجاد عملیات CRUD با استفاده از رویکرد PHP OOP و پایگاه داده SQLite3
در دنیای برنامهنویسی وب، عملیات CRUD (Create, Read, Update, Delete) به عنوان چهار ستون اصلی هر برنامه یا سامانه مدیریت دادهها شناخته میشوند. این عملیات، پایه و اساس هر سیستم مدیریت محتوا، اپلیکیشنهای تحت وب، و یا هر نوع سامانهای است که نیاز به ذخیره، بازیابی، و مدیریت دادهها دارد. در این مقاله، قصد داریم یک نمونه کامل و جامع از یک اسکریپت PHP با رویکرد شیگرایی (Object-Oriented Programming) ارائه دهیم که این عملیات را با پایگاه داده سبک و سریع SQLite3 انجام میدهد.
چرا SQLite3؟ این سیستم مدیریت پایگاه داده، به خاطر سادگی، کمحجم بودن، و عدم نیاز به سرور مجزا، بسیار محبوب است. همچنین، به دلیل ساختار فایلمحور، مناسب برای پروژههای کوچک و متوسط است. در کنار این، استفاده از رویکرد OOP در PHP مزایای زیادی دارد، از جمله قابلیت نگهداری بهتر کد، توسعهپذیری، و کاهش خطاهای احتمالی.
در این مقاله، ابتدا مفاهیم پایهای و ساختار کلی پروژه را بررسی میکنیم، سپس کلاسهای مورد نیاز برای پیادهسازی CRUD را طراحی و پیادهسازی مینماییم و در نهایت، نمونه کدهای عملیاتی را ارائه خواهیم داد. هدف این است که کاربر بتواند با درک کامل، این اسکریپت را توسعه داده و در پروژههای واقعی خود به کار ببرد.
ساختار کلی پروژه
پروژه شامل چند بخش اصلی است؛ ابتدا تعریف کلاس پایگاه داده، سپس کلاس مدل برای عملیات مرتبط با دادهها، و در نهایت بخش واسط کاربری یا API برای انجام عملیات CRUD. در اینجا، تمرکز بر روی یک جدول فرضی به نام `users` است که فیلدهای آن شامل `id`، `name`، `email`، و `age` است.
کلاس `Database` مسئول برقراری اتصال و اجرای کوئریها است. کلاس `User`، به عنوان مدل داده، عملیات مربوط به کاربران را پیادهسازی میکند. این کلاس، شامل متدهای ایجاد، خواندن، ویرایش، و حذف است. در کنار این، نمونههایی از نحوه استفاده و تماس با این کلاسها را نیز ارائه میدهیم.
کلاس پایگاه داده (Database Class)
در این بخش، یک کلاس ساده طراحی میکنیم که وظیفه مدیریت اتصال به پایگاه داده SQLite3 را بر عهده دارد. این کلاس، هنگام ساخت، اتصال به فایل پایگاه داده را برقرار میکند، و متدهای عمومی برای اجرای کوئریها، تهیه استعلامها، و بستن اتصال را فراهم میسازد.
php
class Database {
private $connection;
private $dbFile = 'database.sqlite';
public function __construct() {
try {
$this->connection = new SQLite3($this->dbFile);
$this->initializeDatabase();
} catch (Exception $e) {
die("Connection failed: " . $e->getMessage());
}
}
private function initializeDatabase() {
$sql = "CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
email TEXT NOT NULL UNIQUE,
age INTEGER
);";
$this->executeQuery($sql);
}
public function executeQuery($sql) {
return $this->connection->exec($sql);
}
public function prepare($sql) {
return $this->connection->prepare($sql);
}
public function close() {
$this->connection->close();
}
}
در این بخش، کلاس `Database` یک اتصال پایدار به فایل `database.sqlite` برقرار میکند و در صورت نیاز، جدول `users` را در صورت عدم وجود، ایجاد مینماید. متد `executeQuery` برای عملیاتهای نوشتن و تغییر دادهها، و متد `prepare` برای استعلامهای پارامتری مناسب است.
کلاس مدل (User Class)
حالا نوبت به ساخت کلاس مدل است که عملیات مربوط به کاربران را مدیریت میکند. این کلاس، از نمونه کلاس `Database` استفاده میکند و متدهای مربوط به عملیات CRUD را پیادهسازی مینماید.
php
class User {
private $db;
public function __construct($database) {
$this->db = $database;
}
public function create($name, $email, $age) {
$stmt = $this->db->prepare("INSERT INTO users (name, email, age) VALUES (:name, :email, :age)");
... ← ادامه مطلب در magicfile.ir
باکس دانلود (php sqlite driver)
دانلود
پیشنهاد برای دانلود ( php sqlite driver )
برای دانلود کردن اینجا را کلیک فرمایید
نظرات کاربران (۳)
مریم احمدی
عالی بود .. با تشکر