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: 1149

Share On:

Share follows: 0 | Unique share links followed: 0
Sponsored links
👉1 Kitabu cha Afya     👉2 Tafasiri ya Riyadh Swalihina     👉3 Sira ya Mtume Muhammad (s.a.w)     👉4 Dua za Mitume na Manabii     👉5 Kitau cha Fiqh     👉6 Bongolite - Game zone - Play free game    

Post zinazofanana:

PHP somo la 79: Custom header

Katika somo hili utakwenda kuhifunza kuhusu Custom header na aina zake

Soma Zaidi...
PHP somo la 53: class inheritance kwenye PHP Object Oriented Programming

Katika somo hili utakwenda kujifunza kuhusu class inheritance kwenye object oriented programming.

Soma Zaidi...
PHP -somo la 31: Matumizi ya include() na require() function kwenye php

Katika somo hili utakwenda kujifunza jinsi ya kuandika function za PHP kama require() na iclude()

Soma Zaidi...
PHP somo la 93: Jinsi ya kutumia faili la env

Faili la env ni moja kati ya mafaili ambayo ni muhimu kwa usalama wa project. Fili hili hutumika kuhifadhi data za siri

Soma Zaidi...
PHP BLOG - somo la 7: Jinsi ya kutengeneza ukurasa wa kusoma post kwenye blog

HApa utakwenda kujifunza sasa namna ya kuzisoma post kutoka kwenye blog

Soma Zaidi...
PHP somo la 90: Jinsi ya kutumia json data kama blog post

Katika somo hili utaweza kujifunza ni kwa nambna gani utaweza kutengeneza blog post na kuisoma kwa kutumia data za json

Soma Zaidi...