PHP somo la 95: Jinsi ya kutengeneza customer ORM

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 Rajabu
Tarehe: 2025-03-16 10:16:17 Topic: PHP Main: Masomo File: Download PDF Views: 1173

Share On:

Share follows: 0 | Unique share links followed: 0
Sponsored links
👉1 Simulizi za Hadithi Audio     👉2 Kitau cha Fiqh     👉3 Tafasiri ya Riyadh Swalihina     👉4 ai web app     👉5 Dua za Mitume na Manabii     👉6 Sira ya Mtume Muhammad (s.a.w)    

Post zinazofanana:

PHP - somo la 45: Jinsi ya kutuma sms kwa kutumia PHP

Katika soko hili takwenda kujufunza jinsi ya kutuma sms kwa kutumia PHP. Hii itasaidia kama unataka kutuma OTP yaqni Onetime password

Soma Zaidi...
PHP somo la 51: Jinsi ya kutumia consctuct na destruct function

Katika somo hili utakwenda kujifunza kazi na matumizi ya construct function na desctruct function kwenye OOP

Soma Zaidi...
PHP - somo la 11: Jinsi ya kutuma tarifa zilizojazwa kwenye form

Katika somo hili utakwenda kujifunza jinsi ya kukusanya taarifa za watumiaji kwa kutumia html form.

Soma Zaidi...
PHP - somo la 3: Maana ya variable na inavyoandika kwenye PHP

Katika somo hili utakwenda kujifunza kujusu PHP variable, maana yake na sheria za uandishi wa variable

Soma Zaidi...
PHP somo la 100: Jinsi ya kutumia sql moja kwa moja kwenye ORM ya RedBeanPHP

Katika somo hili utakwend akujifunz ajinsi ya kuandika query ndani ya ORM. Hii inakupa uhuru wa kufanya kileunachotaka bila ya kuathiri usalama wa project

Soma Zaidi...
PHP - somo la 36: Jinsi ya ku upload taarifa za mafaili kwenye database kw akutumia PHP

katika somo hili utajfunza kukusanya taarifa za mafaili. kisha ku upload hayo mafaili. kisha kuandika hizo taarifa za mafaii kwenye database

Soma Zaidi...