picha

PHP somo la 95: Jinsi ya kutengeneza customer ORM

Katika somo hili uttakwend akujifunz ajinsi ambavyo utaweza kutengeneza simple ORM yakwako mwenyewe

PHP somo la 95: Jinsi ya kutengeneza customer ORM
Katika somo hili utajifunza jinsi ya kutengeneza ORM ya msingi kwa kutumia PHP na MySQL, ambayo itakuwezesha kufanya operesheni za CRUD (Create, Read, Update, Delete) kwa urahisi.

1. Kuandaa Database Connection

Kama ilivyo kwenye mfano wa awali, tunahitaji class ya Database ambayo itashughulikia connection na MySQL. Hii itakuwa ni Singleton pattern kama ilivyokuwa awali:

class Database {
    private static $instance = null;
    private $conn;

    private function __construct() {
        $this->conn = new mysqli("localhost", "root", "", "shop");
        if ($this->conn->connect_error) {
            die("Connection failed: " . $this->conn->connect_error);
        }
    }

    public static function getInstance() {
        if (!self::$instance) {
            self::$instance = new Database();
        }
        return self::$instance;
    }

    public function getConnection() {
        return $this->conn;
    }
}

2. Kuunda Base Model Class

Hapa tunaunda class Model, ambayo inashughulikia CRUD operations kwa kutumia prepared statements ili kuepuka SQL Injection. Class hii ina methods za kufanya kazi na tables kwa kutumia jina la table kama parameter:

class Model {
    protected $db;
    protected $table;

    public function __construct($table) {
        $this->db = Database::getInstance()->getConnection();
        $this->table = $table; // Dynamically set the table name
    }

    public function create($data) {
        $columns = implode(", ", array_keys($data));
        $placeholders = implode(", ", array_fill(0, count($data), "?"));
        $stmt = $this->db->prepare("INSERT INTO {$this->table} ($columns) VALUES ($placeholders)");

        $stmt->bind_param(str_repeat("s", count($data)), ...array_values($data)); 
        return $stmt->execute();
    }

    public function all() {
        $stmt = $this->db->prepare("SELECT * FROM {$this->table}");
        $stmt->execute();
        return $stmt->get_result()->fetch_all(MYSQLI_ASSOC);
    }
}

Ufafanuzi wa Code:

Hapa tunatumia prepared statements ili kuhakikisha usalama wa SQL (kama kuepuka SQL injection), na pia tunatekeleza Object-Oriented Programming (OOP).

1. __construct($table)

public function __construct($table) {
    $this->db = Database::getInstance()->getConnection();
    $this->table = $table; // Dynamically set the table name
}

2. create($data)

public function create($data) {
    $columns = implode(", ", array_keys($data));
    $placeholders = implode(", ", array_fill(0, count($data), "?"));
    $stmt = $this->db->prepare("INSERT INTO {$this->table} ($columns) VALUES ($placeholders)");

    $stmt->bind_param(str_repeat("s", count($data)), ...array_values($data)); 
    return $stmt->execute();
}

3. all()

public function all() {
    $stmt ...
Ingia sasa ili uweze kusoma makala hii yote.

Zoezi la Maswali

Nyuma Endelea


Umeionaje Makala hii.. ?

       
Author: Rajabu image Tarehe: 2025-03-16 10:16:17 Topic: PHP Main: Masomo File: Download PDF Views 1034

Share On:

Share follows: 0 | Unique share links followed: 0
Sponsored links
👉1 Kitabu cha Afya     👉2 Sira ya Mtume Muhammad (s.a.w)     👉3 Tafasiri ya Riyadh Swalihina     👉4 kitabu cha Simulizi     👉5 Madrasa kiganjani     👉6 web hosting    

Post zinazofanana:

Jinsi ya kupata location ya mtu lwa kutumia IP address

Katika post hii utajifunza jinsi ya kupata taarifa muhimu za mtumiaji kw akutumia Ip address yake.

Soma Zaidi...
PHP somo la 79: Custom header

Katika somo hili utakwenda kuhifunza kuhusu Custom header na aina zake

Soma Zaidi...
PHP - somo la 62: Project ya CRUDE operation kwa kutumia PHP - OOP na MySQL database

Katika project hii utakwenda kujifunza jinsi ya kufanya CRUDE operation kwa kutumia PHP OOP na MySQL database.

Soma Zaidi...
PHP somo la 72: Jinsi ya kuandaa PDF kutoana na data zilizopo kwenye database

hapa utawenda utuma database wa ajl ya utengeneza maudhu ya PDF.

Soma Zaidi...
PHP - somo la 35: Jinsi ya ku upload mafaili kwa kutumia PHP

Katika somo hili utakwenda kujifunza jinsi ya ku upload mafaili kwenye server kwa kutumia PHP

Soma Zaidi...
PHP - somo la 10: Jinsi ya kundika condition statement if, ifelse na switch case

Katika somo hili utakwenda kujifunza kuhusu condition statements if, ifelse na switch case. Hata utajifunza jnsi ya kuziandika na zinavyofanya kazi

Soma Zaidi...