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.

Jiunge nasi WhatsApp kupata update zetu
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 787

Share On:

Share follows: 0 | Unique share links followed: 0
Sponsored links
👉1 web hosting     👉2 Bongolite - Game zone - Play free game     👉3 Dua za Mitume na Manabii     👉4 Madrasa kiganjani     👉5 kitabu cha Simulizi     👉6 Kitau cha Fiqh    

Post zinazofanana:

PHP somo la 85: Jinsi ya utengeneza json data kwa utumia php

Katika somo hili utakwenda kujifunza Jinsi ya utengeneza json data kwa utumia php

Soma Zaidi...
PHP - somo la 20 : Jinsi ya kufuta na ku update data kwenye database kwa kutumia PHP

Katika somo hili utakwenda kujifunza jinsi ya ku update na kufuta data kwenye database kwa kutumia PHP

Soma Zaidi...
PHP somo la 77: aina za http redirect

Katika somo hili utakwenda kujifunza kuhusu http redirect header

Soma Zaidi...
PHP somo la 54: class constant kwenye php

Katika somo hili utakwenda kujifunza jinsi ya kutumia constatnt kwenye class.

Soma Zaidi...
Faida za kiafya za kula Viazi mbatata

Viazi mbatata ni katika vyakula ambavyo hupatikana karibia dunia yote. Viazi hivi vimekuwa ni lishe kubwa sana. Ila je unajuwa hasa ni faida gani za kiafya hupatikana kwenye viazi hivi?

Soma Zaidi...
PHP somo la 83: Server Variables

Katika somo hili utakwend akujifunza kuhusu server variables

Soma Zaidi...