asddaniel / universal-laravel
universal model package
Requires
- php: ^8.1
- illuminate/contracts: ^9.0
- spatie/laravel-package-tools: ^1.14.0
Requires (Dev)
- laravel/pint: ^1.0
- nunomaduro/collision: ^6.0
- orchestra/testbench: ^7.0
- pestphp/pest: ^1.21
- pestphp/pest-plugin-laravel: ^1.1
- phpunit/phpunit: ^9.5
README
Universal est un package Package laravel permettant de gerer vos models sans liens avec les tables de la base de données, donc pas de gestion de migrtion à chue nouveu model crée
Installation
vous pouvez installer ce package via composer:
composer require asddaniel/laravel-universal
vous devez ensuite publier les migrations des 4 tables de base avec la commande suivante
php artisan vendor:publish --tag="universal-migrations"
ceci va copier les fichiers des migrqations dans le bon dossier
Usage
pour crée un model universel vous devez lancer la commande suivante suivit du nom du model (l'exemple de Post ci-dessous)
php artisan make:universalmodel Post
la commande va crée un nouveau model universel dans le dossier universalModels à l'interieur du dossier App.
ensuite il ne vous reste qu'à ouvrir le model et ajouter les attribut qui seront directement pris en compte dans la persistnce comme s'ils étaient des colonnes d'une table de meme nom en voici un exemple ci-dessous
<?php declare(strict_types=1); namespace App\UniversalModels; use Asddaniel\UniversalLaravel\universal\UniversalModel; class Post extends UniversalModel { public $auteur; public $content; }
Usage
pour lire les données il y a la méthode all et get
$posts = Post::all();// liste tous les posts $post = Post::get(1);//récupere un post suivant son id Post::delete(1);//supprime un post suivant son id Post::update($array); // modifie un post avec un tableau associatif de chaque attribut avec sa valeur Post::update(3, ["title"=>"mon titre", "content"=>"mon contenu"]);
pour enregistrer des nouvelles données
Post::create(["title"=>"mon titre", "content"=>"contenu ajouté"]);
on lie chaque attribut à sa valeur à travers le tableau associatif
Contributing
contactez-nous pour voir comment contribuez u projet
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
License
la License MIT (MIT). voir License File pour plus d'information.