
Pionia Framework est un cadre PHP pour construire des API RESTful. Il s'agit d'un cadre léger facile à utiliser et facile à comprendre.
Il se déroule sur l'architecture au clair de lune.
composer create-project pionia/pionia-app project_name N'oubliez pas de remplacer project_name par le nom de votre projet
|-authentications
|-bootstrap
|----application.php
|----routes.php
|-commands
|-environment
|----.env
|----settings.ini
|-middlewares
|-public
|-- .htaccess
|-- index.php
services
static
|-- favicon.png
|-- pionia_logo.webp
|-- favicon.ico
|-- bootstrap.min.css
storage
|-- cache
|-- logs
|-- scripts
vendor
.gitignore
composer.json
composer.lock
pionia
README.md
- Authentification: - C'est là que les backends d'authentification devraient résider. Ce sont les stratégies que l'application utilisera pour authentifier les utilisateurs dans le contexte de l'application.
- Middlewares: - C'est là que toutes les demandes résident de Middlewares. Ce sont les classes qui fonctionnent à chaque demande et à chaque réponse.
- Services: - C'est là que réside notre logique commerciale réelle.
- Commandes: - C'est là que résident toutes nos commandes de ligne de commande.
- Environnement: - C'est là que résident tous nos paramètres d'environnement.
- Stockage: - C'est là que résident tous nos fichiers de stockage.
- statique: - C'est là que résident tous nos fichiers statiques. Les fichiers par défaut trouvés ici ne doivent jamais être supprimés.
- Vendeur: - C'est là que résident toutes nos dépendances de compositeur.
- ? .gitignore: - C'est là que nous spécifions des fichiers qui ne doivent pas être suivis par GIT.
- ? Composer.json: - C'est là que nous spécifions toutes nos dépendances de compositeur.
- ? Composer.lock: - C'est là que nous spécifions toutes nos dépendances de compositeur.
- ? Pionia: - Ceci est notre aide de commande. Pour chaque commande, nous appelons ce fichier.
- Public: - C'est là que résident nos fichiers publics. C'est là que réside notre fichier d'entrée.
- ? Commutateurs: - C'est là que réside notre commutateur d'application principal. C'est là que nous enregistrons tous nos services.
- ? Pionia: - Ceci est notre aide de commande. Pour chaque commande, nous appelons ce fichier.
- ? Readme.md:- C'est notre fichier de documentation. C'est là que nous documentons notre projet.
- Bootstrap: - C'est là que résident nos fichiers d'amorçage d'application. C'est là que nous enregistrons tous nos itinéraires.
Après l'installation, exécutez simplement ce qui suit pour démarrer le serveur
php pionia serve # http://localhost:8000Par défaut, le serveur s'exécutera sur le port 8000, pour modifier cela, exécutez ce qui suit
php pionia serve --port 8080 # http://localhost:8080Votre point de terminaison fonctionne maintenant sur http: // localhost: 8080 / api / v1 /
Vous pouvez suivre la documentation, mais c'est en cours de développement actif.
Accédez à la documentation ici
Vous pouvez également exécuter php pionia pour obtenir une liste de toutes les commandes disponibles.
Si vous faites des demandes HTTP de votre frontend, nous vous recommandons d'utiliser la bibliothèque jet-fetch . Cependant, d'autres packages spécifiques au framework sont toujours corrects comme la z-fetch pour z-js et axios .
Dans la racine de votre projet, exécutez: -
NPM
npm install jet-fetchFIL
yarn add jet-fetch Ensuite, utilisez la méthode moonlightRequest de l'emballage pour interroger tout backend à moteur au clair de lune.
import { Jet } from 'jet-fetch' ;
const jet = new Jet ( {
baseUrl : 'http://localhost:8000/api/' ,
} ) ;
// unauthenticated requests
const res = await jet . moonlightRequest (
{
service : 'yourService' ,
action : 'yourAction' ,
... anyOtherData
} , 'v2/' ) ;
// for jwt-authenticated requests
const res = await jet . secureMoonlightRequest (
{
service : 'yourService' ,
action : 'yourAction' ,
... anyOtherData
} , 'v2/' ) ; Pour plus de détails sur jet-fetch , suivez le guide ReadMe fourni ici.
Toutes les formes de contributions sont les bienvenues de la documentation, du codage, du développement communautaire et bien d'autres.