Download the PHP package ndeyaichasene/core without Composer
On this page you can find all versions of the php package ndeyaichasene/core. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download ndeyaichasene/core
More information about ndeyaichasene/core
Files in ndeyaichasene/core
Package core
Short Description Package PHP réutilisable pour les applications MVC
License MIT
Informations about the package core
NdeyeAicha Core
NdeyeAicha Core est un package PHP léger et réutilisable destiné aux applications PHP orientées objet et aux architectures MVC.
Il regroupe plusieurs classes utilitaires permettant de centraliser des fonctionnalités courantes :
- gestion des requêtes HTTP ;
- gestion des sessions ;
- connexion et requêtes à la base de données ;
- validation des données ;
- rendu des vues ;
- redirections ;
- débogage.
Le package est conçu pour être facilement intégré à différents projets PHP grâce à Composer et à l'autoloading PSR-4.
Sommaire
- Prérequis
- Installation
- Autoload PSR-4
-
Fonctionnalités
- Controller
- Database
- Debug
- Request
- SessionManager
- Validator
- Structure du package
- Exemple d'utilisation
- Auteur
- Licence
Prérequis
Avant d'utiliser ce package, votre environnement doit disposer de :
- PHP 8.3 ou supérieur
- Composer
- PDO
Pour utiliser PostgreSQL :
pdo_pgsql
Pour utiliser MySQL :
pdo_mysql
Installation
Installez le package avec Composer :
Composer installera automatiquement le package et son autoloader.
Dans votre projet PHP :
Vous pouvez ensuite utiliser les classes du package :
Autoload PSR-4
Le package utilise l'autoloading PSR-4 avec le namespace :
La configuration dans composer.json est :
Par exemple, le fichier :
correspond à :
Après une modification de l'autoloading, exécutez :
Fonctionnalités
1. Controller
La classe Controller permet de centraliser certaines fonctionnalités utilisées dans les contrôleurs MVC :
- affichage des vues ;
- affichage d'une vue avec un layout ;
- redirection vers une route.
Afficher une vue
La méthode recherche par défaut :
Les données sont disponibles dans la vue à travers :
Utiliser un autre dossier de vues
Afficher une vue avec un layout
La structure attendue est :
Le contenu de users/index.php est capturé puis placé dans :
Le layout peut donc utiliser :
Redirection
Avec une URL de base :
2. Database
La classe Database permet de centraliser la connexion à une base de données avec PDO.
Elle permet notamment :
- d'initialiser la connexion ;
- de récupérer l'instance PDO ;
- d'exécuter des requêtes SQL ;
- d'utiliser des requêtes préparées ;
- de récupérer un ou plusieurs résultats ;
- d'exécuter des opérations
INSERT,UPDATEetDELETE; - de récupérer le dernier identifiant inséré ;
- de récupérer toutes les données d'une table.
Initialiser la connexion
PostgreSQL :
MySQL :
Récupérer l'instance PDO
Exécuter une requête préparée
Pour récupérer un seul résultat :
Pour récupérer plusieurs résultats :
Exécuter une requête sans paramètres
INSERT
Pour un INSERT, la méthode retourne le dernier identifiant inséré.
UPDATE
La méthode retourne le nombre de lignes modifiées.
DELETE
Récupérer toutes les données d'une table
3. Debug
La classe Debug fournit deux méthodes simples pour faciliter le débogage.
dump()
dump() affiche une variable sans arrêter l'exécution du programme.
dd()
dd() signifie généralement Dump and Die.
La méthode affiche la variable puis arrête l'exécution du programme.
Exemple :
4. Request
La classe Request centralise l'accès aux données des requêtes HTTP.
Elle permet de :
- récupérer la méthode HTTP ;
- vérifier si la requête est
GET; - vérifier si la requête est
POST; - récupérer une donnée
GET; - récupérer une donnée
POST; - récupérer toutes les données ;
- récupérer l'URI actuelle.
Récupérer la méthode HTTP
Exemple :
ou :
Vérifier une requête GET
Vérifier une requête POST
Récupérer une donnée GET
Pour une URL :
on peut utiliser :
Si page n'existe pas, la valeur 1 sera utilisée.
Récupérer une donnée POST
Récupérer toutes les données
Pour une requête GET, la méthode retourne $_GET.
Pour une requête POST, elle retourne $_POST.
Récupérer l'URI
5. SessionManager
La classe SessionManager simplifie la gestion des sessions PHP.
Elle permet de :
- démarrer une session ;
- enregistrer une donnée ;
- récupérer une donnée ;
- vérifier l'existence d'une donnée ;
- supprimer une donnée ;
- récupérer toutes les données ;
- vider la session ;
- détruire complètement la session.
Démarrer une session
Il est également possible d'utiliser :
Enregistrer une donnée
Récupérer une donnée
Avec une valeur par défaut :
Vérifier l'existence d'une donnée
Supprimer une donnée
Il est également possible d'utiliser :
Récupérer toute la session
Vider les données de session
Détruire complètement la session
6. Validator
La classe Validator permet de réaliser différentes validations sur les données provenant notamment des formulaires.
Les validations disponibles sont :
| Méthode | Description |
|---|---|
required() |
Vérifie qu'une valeur est renseignée |
unique() |
Vérifie qu'une valeur n'existe pas déjà dans un tableau |
isEmail() |
Vérifie qu'une valeur est une adresse email valide |
numeric() |
Vérifie qu'une valeur est numérique |
isPositive() |
Vérifie qu'une valeur est positive ou nulle |
required()
Vérifie qu'une valeur n'est pas null et qu'elle n'est pas vide.
Avec un message personnalisé :
isEmail()
Vérifie le format d'une adresse email.
Avec un message personnalisé :
numeric()
Vérifie si une valeur est numérique.
isPositive()
Vérifie qu'une valeur est numérique et supérieure ou égale à zéro.
Exemple avec un message personnalisé :
unique()
Vérifie qu'une valeur n'existe pas déjà dans un tableau de données.
La méthode accepte des tableaux associatifs ou des objets.
La validation échouera si la valeur existe déjà.
Structure du package
La structure actuelle du package est :
Toutes les classes utilisent le namespace :
Exemple :
Exemple d'utilisation
Après avoir installé le package :
Vous pouvez utiliser plusieurs composants dans votre application MVC :
Auteur
Ndeye Aissatou Sene
Email : [email protected]
GitHub : ndeyaichasene
Licence
Ce package est distribué sous licence MIT.
Voir le fichier LICENSE pour plus d'informations.