Download the PHP package andydefer/laravel-reports without Composer

On this page you can find all versions of the php package andydefer/laravel-reports. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package laravel-reports

Laravel Reports

Système de signalement polymorphique pour applications Laravel avec pattern Repository, DTOs, Enums et Value Objects

PHP Version Laravel Version


📋 Table des matières


✨ Fonctionnalités


🚀 Prérequis


📦 Installation

Installez le package via Composer :

Publier les migrations

Exécuter les migrations


⚙️ Configuration

Service Provider

Le package est automatiquement découvert par Laravel. Aucune configuration supplémentaire n'est requise.

Si vous devez personnaliser le Service Provider, ajoutez-le manuellement dans config/app.php :

Configuration des Enum Casts

Le package utilise le système d'EnumCast du package andydefer/laravel-repository pour convertir automatiquement les valeurs en énumérations PHP.

Créez ou modifiez le fichier config/repository.php :

⚠️ Important :

  • Sans cette configuration, les énumérations ne seront pas automatiquement converties
  • L'énumération DOIT implémenter l'interface AndyDefer\Repository\Contracts\EnumerableInterface
  • La méthode getValue() est obligatoire pour l'interface

📖 Utilisation

Créer vos énumérations

⚠️ OBLIGATOIRE : Vos énumérations DOIVENT implémenter l'interface EnumerableInterface

Configurer les enum casts

Créer un signalement

Vérifier un signalement

Récupérer les signalements

Mettre à jour un signalement

Compter les signalements

Filtrer par date


📚 Référence de l'API

ReportService

Méthode Description Retourne
report(Model $reporter, Model $reportable, EnumerableInterface $type, EnumerableInterface $status, string $reason, ?StrictDataObject $metadata = null) Crée un signalement Model
hasReported(Model $reporter, Model $reportable) Vérifie si l'utilisateur a déjà signalé bool
getReportsFor(Model $reportable, bool $onlyPending = false) Récupère les signalements d'un objet Collection
getReportsBy(Model $reporter) Récupère les signalements d'un utilisateur Collection
getPendingReports() Récupère tous les signalements en attente Collection
getReportsByStatus(EnumerableInterface $status) Récupère les signalements par statut Collection
getReportsByType(EnumerableInterface $type) Récupère les signalements par type Collection
getReportsUpdatedAfter(DateTimeVO $date) Récupère les signalements après une date Collection
find(int $id) Trouve un signalement par ID ?Model
updateStatus(int $id, EnumerableInterface $status) Met à jour le statut Model
updateType(int $id, EnumerableInterface $type) Met à jour le type Model
countReports(Model $reportable, bool $onlyPending = false) Compte les signalements d'un objet int
countByStatus(EnumerableInterface $status) Compte par statut int
countByType(EnumerableInterface $type) Compte par type int
delete(int $id) Supprime un signalement void

🎯 Value Objects

Le package supporte les Value Objects suivants :

Value Object Description Exemple
DateTimeVO Date/heure DateTimeVO::from('2024-01-01 12:00:00')
StrictDataObject Métadonnées typées StrictDataObject::from(['key' => 'value'])

Accesseurs dans le modèle Report


📝 Structure de la base de données


🔍 Exemple complet


🧪 Tests

Exécuter les tests

Exécuter uniquement les tests unitaires

Exécuter uniquement les tests d'intégration

Configuration des tests

Le package utilise orchestra/testbench pour les tests d'intégration avec une base de données SQLite en mémoire.


🔧 Développement

Style de code

Analyse statique


🤝 Contribuer

  1. Fork le repository
  2. Créer une branche (git checkout -b feature/amazing-feature)
  3. Commiter les changements (git commit -m 'feat: add amazing feature')
  4. Pusher (git push origin feature/amazing-feature)
  5. Ouvrir une Pull Request

📦 Dépendances


👨‍💻 Auteur

Andy Kani


📄 Licence

MIT © Andy Defer


Construit avec ❤️ pour la communauté Laravel


All versions of laravel-reports with dependencies

PHP Build Version
Package Version
Requires php Version >=8.1
laravel/framework Version ^12.0|^13.0|^14.0|^15.0
andydefer/laravel-rattachments Version ^0.12.24
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package andydefer/laravel-reports contains the following files

Loading the files please wait ...