An open API service indexing awesome lists of open source software.

https://github.com/alexis90210/hisoka-orm

A simple and powerful ORM(Object-Relational Mapping) library for PHP Mysql.
https://github.com/alexis90210/hisoka-orm

composer mysql oop orm php

Last synced: 4 months ago
JSON representation

A simple and powerful ORM(Object-Relational Mapping) library for PHP Mysql.

Awesome Lists containing this project

README

          

# 📘 Hisoka ORM – Guide d’utilisation

Ce projet utilise l’ORM `Hisoka\Orm\DB` pour simplifier les interactions avec une base de donnĂ©es en PHP. Ce guide prĂ©sente les principales opĂ©rations prises en charge par la bibliothĂšque, y compris les opĂ©rations CRUD, les jointures, et les outils de dĂ©bogage.

📩 DĂ©pendances

Ce projet repose sur :
- Composer pour l’autoload
- Le namespace: Hisoka\Orm\DB

🔧 Initialisation

require 'vendor/autoload.php';

use Hisoka\Orm\DB;
$DB = new DB();

đŸ—‘ïž Suppression
Supprimer un utilisateur par identifiant :

$query = $DB->table('Utilisateurs')
->delete()
->where(["Identifiant" => 'login'])
->execute()
->status();

đŸ“„ SĂ©lection (SELECT)
- Sélection de tous les enregistrements avec filtre :

$query = $DB->table('Utilisateurs')
->select([])
->where(["Identifiant" => 'login'])
->limit(1)
->execute()
->fetchAssociative();

- Sélection ciblée par colonnes :

$query = $DB->table('Utilisateurs')
->select(["id", "nom", /* autres colonnes */])
->execute()
->fetchObject();

✏ Mise Ă  jour (UPDATE)
- Mettre Ă  jour les donnĂ©es d’un utilisateur :

$query = $DB->table('Utilisateurs')
->update()
->where(["Identifiant" => 'login'])
->execute()
->status();

➕ Insertion (INSERT)
- Insérer un nouvel utilisateur :

$query = $DB->table('Utilisateurs')
->insert(["nom" => 'alexis'])
->execute()
->status();

🔗 Jointures (JOIN)
- Effectuer une jointure entre deux tables :

->joinWith(string $tableA, string $jointureA, string $tableB, string $jointureB, string $type = "")

joinWith(string $tableA, string $jointureA, string $tableB, string $jointureB, string $type = "")

- [tableA] : PremiĂšre table
[jointureA] : Clé de jointure dans la table A

- [tableB] : DeuxiĂšme table
[jointureB] : Clé de jointure dans la table B

- [type] : Type de jointure (INNER, LEFT, RIGHT, etc.). Par défaut, une jointure simple.

Exemple :

$Interfaces_acheves = $DB
->table('Interfaces')
->select(["Interfaces.Progression", "Projets.IDProjets"])
->where([
["key" => "Projets.IDProjets", "value" => 0, "operator" => "="],
["key" => "Interfaces.Progression", "value" => 4, "operator" => ">"]
])
->joinWith("Projets", "IDProjets", "Interfaces", "IDInterfaces")
->generateSQL();
// ->execute()->fetchAssociative();

đŸ§Ș Utilitaires
- Activer le mode debug pour les erreurs PDO :
$DB->debug();

- Visualiser la requĂȘte SQL gĂ©nĂ©rĂ©e :
$DB->generateSQL();

- Obtenir le statut d’une requĂȘte :
$DB->status();