Php slim
Introduction
Pré-requis
Assurez-vous d'avoir installé PHP, Composer et le serveur web Apache httpd Nous allons commencer par l'installation de PHP et du serveur web Apache httpd:
# dnf -y install php php-cli mod_php httpd
N'oubliez pas de désactiver selinux et d'ouvrir le pare-feu
Préparation et installation
On doit créer le répertoire dans lequel va s'installer Slim ainsi que le code du site. Dans ce cas présent nous allons utiliser /opt/slim:
# mkdir /opt/slim
Nous allons ensuite créer un hôte virtuel pour Apache avec une réécriture d'url. Nous allons créer le fichier /etc/httpd/conf.d/slim.conf:
<VirtualHost *:80> DocumentRoot /opt/slim/public <Directory /opt/slim/public> Require all granted RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?url=$1 [QSA,L] </Directory> </VirtualHost>
On poursuit avec l'installation de Slim:
# composer create-project slim/slim-skeleton:dev-master /opt/slim
A la question :
Do you want to remove the existing VCS (.git, .svn..) history? [Y,n]?
Vous pouvez répondre Y Il faut maintenant donner les droits à Apache:
# chown -R apache. /opt/slim
Une fois le serveur Apache (re)démarré, vous devriez avoir le message Hello World!
Première utilisation
Arborescence
L'installation de Slim a créé plusieurs répertoires dont la plupart servent pour l'application exemple "Hello World":
/opt/slim |_app \ |_dependencies.php |_middleware.php |_repositories.php |_routes.php |_settings.php |_logs \... |_public \ |_index.php |_... |_src \... |_tests \... |_var \... |_vendor \... |_README.md |_composer.json |_phpunit.xml |_composer.json
Vous pouvez avoir plus ou moins de répertoires, les plus importants sont les suivants:
- app : contient les fichiers descriptifs de l'application
- src : répertoire où nous allons stocker notre code source
- composer.json : fichier qui va nous servir pour l'autoloader
Pour partir sur une base simple, vous pouvez supprimer (sauvegarder si besoin) le contenu des répertoires app et src
Chargement automatique du code
Le chargement automatique ou autoloading se fait grâce à composer dans le fichier composer .json. Repérez la section commençant par autoload:
"autoload": { "psr-4": { "App\\": "src/" } },
Cette section indique à composer que toutes les classes faisant partie de l'espace de nom App se trouvent dans le répertoire src. Nous allons modifier cette espace de nom pour le remplacer par tala (généralement le nom du projet ou de l'entreprise):
"autoload": { "psr-4": { "Tala\\": "src/" } },
Pour que la modification soit effective, il faut demander à composer de regénérer les fichiers de classes:
# cd /opt/slim # composer du Generating autoload files Generated autoload files
Création de classes
Dans le répertoire src nous allons créer les classes suivantes