Débuter avec slim
Installation ou configuration
La méthode recommandée pour installer le framework Slim consiste à utiliser composer.
- Créez un répertoire vide
Ce répertoire contiendra tous les fichiers nécessaires à l’exécution de notre application Slim. Nous appelons ce répertoire le répertoire racine afin de pouvoir adresser tous les autres fichiers et répertoires d’application relatifs au répertoire racine.
mkdir slim-app
-
Installez le framework Slim et ses exigences à l’aide de composer
cd slim-app composer require slim/slim “^3.0”
À partir de maintenant, nous supposons qu’il s’agit de notre répertoire de travail.
Une fois que composer a fini de télécharger les fichiers requis, il devrait y avoir deux fichiers composer.json et composer.lock et un répertoire nommé vendor qui inclut les fichiers téléchargés par composer. Nous sommes maintenant prêts à créer notre application. Pour organiser notre application, nous créons un autre répertoire :
mkdir public
Nous appelons cela le répertoire public et nous allons dire à notre serveur Web de servir notre application à partir de ce répertoire.
- Exemple d’application “Hello World”
Pour utiliser Slim, créez un index.php dans un répertoire public avec le code suivant :
public/index.php
<?php
include "../vendor/autoload.php";
$app = new \Slim\App();
$app->get('/', function ($request, $response, $args) {
$response->getBody()->write("Hello world!");
});
$app->run();
- Démarrer le serveur PHP intégré
Nous pouvons maintenant utiliser le serveur PHP intégré pour servir notre application :
php -S localhost:8080 -t public
et exécutez le projet en ouvrant cette adresse dans un navigateur Web :
http://localhost:8080
Production
Bonjour le monde !
Configurez maintenant le serveur Web afin que toutes les requêtes soient transmises à ce fichier :
Configuration Apache pour des URL propres (facultatif)
Ce n’est pas obligatoire mais recommandé pour les projets minces de supprimer index.php dans l’URL de l’API.
Créez .htaccess
dans le même dossier où se trouve votre index.php
. Le fichier doit contenir le code suivant :
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [QSA,L]
Assurez-vous que votre hôte virtuel Apache est configuré avec l’option AllowOverride
afin que les règles de réécriture déclarées .htaccess
puissent réellement être utilisées :
AllowOverride All
Configuration Ngnix
à déterminer
Premiers pas avec Slim Framework
Installation ou configuration du framework Slim
- Installer Compositeur
- Ouvrir cmd
- Accédez au répertoire racine de votre dossier de projet et exécutez la commande suivante.
le compositeur requiert slim/slim “^3.0”
Vous aurez maintenant le répertoire des fournisseurs dans votre projet
Créez ensuite Index.php dans le dossier racine et ajoutez le code suivant
<?php
use \Psr\Http\Message\ServerRequestInterface as Request;
use \Psr\Http\Message\ResponseInterface as Response;
require 'vendor/autoload.php';
$app = new \Slim\App;
$app->get('/hello/{name}', function (Request $request, Response $response) {
$name = $request->getAttribute('name');
$response->getBody()->write("Hello, $name");
return $response;
});
$app->run();
Ensuite, exécutez le projet sur Localhost et essayez avec la commande suivante
http://localhost/project-root/index.php/hello/any-thing
Production
Bonjour n’importe quoi
Obtenir les données Json de la table de base de données (API REST)
use \Psr\Http\Message\ServerRequestInterface as Request;
use \Psr\Http\Message\ResponseInterface as Response;
require 'vendor/autoload.php';
$app = new \Slim\App;
$app->get('/employee/view', function ($req, $res) {
$con = new mysqli('localhost','USERNAME','PASSWORD','DATABASE');
$query = $con->query("SELECT * FROM employee");
while ($row = $query->fetch_assoc()) {
$data[] = $row;
}
return $res->withJson($data);
});
$app->run();
Hello World Exemple
<?php
include "vendor/autoload.php";
$app = new \Slim\App();
$app->get('/hello', function () {
echo "Hello, world";
});
$app->run();
Projet de squelette d’échafaudage avec composer
et @akrabats Slim-Skeleton
-
Selon que vous avez installé [composer][1] globalement ou localement.
- Locally:
php composer.phar create-project slim/slim-skeleton {my-app-name}
- Globally:
composer create-project slim/slim-skeleton {my-app-name}
- Locally:
-
Si vous exécutez un serveur Web (ex. Apache ou nginx), pointez la racine de votre document virtualhost vers votre nouveau dossier public d’applications, par exemple.
{nom-de-mon-application}/public
. -
Assurez-vous que
logs/
est accessible en écriture par la configuration de votre serveur Web.
Vous pouvez également exécuter tout le shebang en mode dev avec :
- Localement :
php composer.phar start
- Globalement :
composer start
Crédit : Rob Allen [@akrabat][2] et l’équipe SlimPHP.
PS: Je ne prends absolument AUCUN crédit pour cela. Presque textuellement de [slimphp/Slim-Skeleton][3]
[1] : https://getcomposer.org/doc/00-intro.md#installation-linux-unix-osx “composer” [2] : https://github.com/akrabat [3] : https://github.com/slimphp/Slim-Skeleton