PHPackages                             ophelios/zephyrus - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Framework](/categories/framework)
4. /
5. ophelios/zephyrus

ActiveLibrary[Framework](/categories/framework)

ophelios/zephyrus
=================

Simple PHP framework

0.9.0(1y ago)11.8k1MITPHPPHP &gt;=8.4

Since Feb 20Pushed 3mo ago2 watchersCompare

[ Source](https://github.com/ophelios-studio/zephyrus)[ Packagist](https://packagist.org/packages/ophelios/zephyrus)[ RSS](/packages/ophelios-zephyrus/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (5)Dependencies (4)Versions (8)Used By (0)

 [![](https://private-user-images.githubusercontent.com/4491532/416771337-6625b148-9426-4625-a35e-559004dc4f11.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzIyODQ3MTksIm5iZiI6MTc3MjI4NDQxOSwicGF0aCI6Ii80NDkxNTMyLzQxNjc3MTMzNy02NjI1YjE0OC05NDI2LTQ2MjUtYTM1ZS01NTkwMDRkYzRmMTEucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI2MDIyOCUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNjAyMjhUMTMxMzM5WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9MDAzNjA2M2NlNzU0YzkyMGFiZTZhZjA4MTg5M2E5Nzk0YTBiYjY3NzJjOWQ2MTJkZjM3NmYwOWZhMTcxODJiZSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.iznxnHYWgNNbWVHKnXqORzqYl2ECB6UiLLKrefl0kIE)](https://private-user-images.githubusercontent.com/4491532/416771337-6625b148-9426-4625-a35e-559004dc4f11.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzIyODQ3MTksIm5iZiI6MTc3MjI4NDQxOSwicGF0aCI6Ii80NDkxNTMyLzQxNjc3MTMzNy02NjI1YjE0OC05NDI2LTQ2MjUtYTM1ZS01NTkwMDRkYzRmMTEucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI2MDIyOCUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNjAyMjhUMTMxMzM5WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9MDAzNjA2M2NlNzU0YzkyMGFiZTZhZjA4MTg5M2E5Nzk0YTBiYjY3NzJjOWQ2MTJkZjM3NmYwOWZhMTcxODJiZSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.iznxnHYWgNNbWVHKnXqORzqYl2ECB6UiLLKrefl0kIE)

*Framework PHP élégant, simple, léger, plaisant et flexible*

---

[![Maintainability](https://camo.githubusercontent.com/e55fb9b9ddc409bc50c57333798b5ecd2981255a0e24e790c4ce639b4f22d588/68747470733a2f2f716c74792e73682f6261646765732f64363237666537612d663137342d346362312d623163352d6662323030353535306663622f6d61696e7461696e6162696c6974792e737667)](https://qlty.sh/gh/ophelios-studio/projects/zephyrus)[![Code Coverage](https://camo.githubusercontent.com/ea3fa22786da315ebbb4a3b9c6108f07aa0a991a5032ab5a10e8c3bc468d0b4d/68747470733a2f2f716c74792e73682f6261646765732f64363237666537612d663137342d346362312d623163352d6662323030353535306663622f746573745f636f7665726167652e737667)](https://qlty.sh/gh/ophelios-studio/projects/zephyrus)![GitHub issues](https://camo.githubusercontent.com/4de2475d3d7d11746f310d31371def05113e23c786290638a351f2cb45f76f67/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732f6f7068656c696f732d73747564696f2f7a657068797275732e737667)![GitHub release](https://camo.githubusercontent.com/cf0b1e28c5d6e9b14e11fed8dec7f019a95577526a0133ddb67db74400cbf44d/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f72656c656173652f6f7068656c696f732d73747564696f2f7a657068797275732e737667)

Philosophie
===========

[](#philosophie)

Le framework Zephyrus, disponible publiquement depuis plus de 10 ans, se distingue par son approche pédagogique et sa simplicité. Basé sur une structure MVC légère et flexible, il offre une extensibilité adaptée à tous types de projets, tout en intégrant des principes solides de sécurité applicative et une grande liberté de développement. Construit autour d’un noyau orienté objet élégant, Zephyrus favorise l’écriture d’un code propre, maintenable, et agréable à manipuler. Pensé pour allier plaisir et efficacité, il évite les contraintes excessives de configurations rigides. Positionné entre les micro-frameworks et les plateformes plus imposantes, Zephyrus répond aux besoins d’une large variété de projets.

Quelques caractéristiques générales
===================================

[](#quelques-caractéristiques-générales)

- Une **structure de projet simple et intuitive** basée sur une architecture Model-View-Controller.
- Traitement des vues avec le préprocesseur HTML *[Latte](https://latte.nette.org)* nativement intégré ou simplement du PHP natif.
- Approche pédagogique pour la conception élégante de classes et favorise une rétrocompatibilité avec les fonctionnalités natives de PHP comme l'utilisation des super-globales, de la session et autres.
- Routeur de requêtes simple et flexible basé sur des contrôleurs incluant une intégration facile de middlewares dans le flux d'une requête et d'un contrôleur du projet. Facilite la segmentation des responsabilités et la lecture d'une chaîne d'exécution.
- Plusieurs mécanismes de sécurité intégrés tels que les entêtes CSP, les jetons CSRF, protection XSS, détection d'intrusion basé sur le projet (*[PHPIDS](https://github.com/PHPIDS/PHPIDS)*), mécanisme d'autorisations et plus encore !
- Système de validation de formulaires élégant et facilement extensible offrant une multitude de règles nativement sur les nombres, les chaînes, les fichiers téléversés, les dates, etc.
- Philosophie d'accès aux données depuis des courtiers manuellement définis offrant un contrôle complet sur la construction des requêtes SQL et, par conséquent, une facilité de maintenance et d'optimisation.
- Approche simple pour intégrer des recherches, tris et pagination sur les requêtes manuelles.
- Moteur unique simple et optimisé pour la gestion des chaînes de caractères d'internationalisation (i18n) depuis une structure JSON, le tout facilement organisé.
- Configuration d’un projet rapide et flexible permettant des paramètres personnalisés utilisables facilement.
- Hautement extensibles facilement grâce à sa compatibilité avec les modules Composer.
- Plusieurs utilitaires rapides : cryptographie, validations, système de fichiers, gestionnaire d'erreurs, transport de messages, etc.
- Et plus encore !

Installation
============

[](#installation)

Zephyrus nécessite PHP 8.4 ou plus. Présentement, supporte uniquement Apache comme serveur web (pour un autre type de serveur, il suffirait d’adapter les fichiers .htaccess). Le gestionnaire de dépendance [Composer](https://getcomposer.org/) est également requis. La structure résultante de l’installation contient plusieurs exemples pour faciliter les premiers pas.

#### Option 1 : Installation depuis composer (recommandé)

[](#option-1--installation-depuis-composer-recommandé)

```
$ composer create-project zephyrus/framework

```

#### Option 2 : Depuis une archive

[](#option-2--depuis-une-archive)

```
$ mkdir
$ cd
$ wget https://github.com/ophelios/zephyrus-framework/archive/vx.y.z.tar.gz
$ tar -xvf vx.y.z.tar.gz --strip 1
$ composer install

```

#### Option 3 : Depuis les sources (version de développement pour faire un PR par exemple)

[](#option-3--depuis-les-sources-version-de-développement-pour-faire-un-pr-par-exemple)

```
$ git clone https://github.com/ophelios/zephyrus-framework.git
$ composer install

```

Intégration avec Apache
-----------------------

[](#intégration-avec-apache)

Une fois le projet installé, il suffit d'ajouter une entrée dans vos vhost qui pointe vers le répertoire `/public` du projet.

```

        ServerName
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www//public

                AllowOverride All
                Require all granted

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

```

Utilisation
===========

[](#utilisation)

#### Exemple 1 : Obtenir une liste et un détail depuis la base de données (simple)

[](#exemple-1--obtenir-une-liste-et-un-détail-depuis-la-base-de-données-simple)

app/Models/Brokers/ClientBroker.php

```
