Bonjour,
Je vous explique, je viens d'attaquer le triptique Design Pattern, router, autoloading et je coince sur la compréhension du routage.
Je suis le tuto très bien fait de Grafikart, cependant je n'obtiens pas les même résultat. En effet, quand je déclare new Altorouter, mon editeur de texte VSCode me dit qu'il est undefined et quand je créé ma route j'ai une page blanche. Pourtant dans mon composer tout semble ok.
Any help please?
<?php
require 'vendor/autoload.php';
$router= new AltoRouter();
$router-> map('GET', '/', function(){
require __DIR__ . '/public/home.php';
});
{
"name": "thumelhans/organigramme",
"description": "Site presentant une organigramme interactif",
"authors": [
{
"name": "Tristan Humelhans",
"email": "thumelhans@molsheim.fr"
}
],
"autoload": {
"psr-4": {
"App\\": "class"
}
},
"require": {
"altorouter/altorouter": "^2.0"
}
}
|Public
|-home.php
|Router
|src
|-|class
|-Database.php
|-|css
|-|img
|vendor
composer.json
composer.lock
composer.phar
readme.md
Merci d'avance pour votre aide.
Tu dois mettre un use AltoRouter;
en haut de ton fichier juste après le require 'vendor/autoload.php';
Normalement, tu dois mettre les fichiers css et les images dans le dossier "public" et dans "src" tu mets ton application. Donc, pour le namespace tu pars sur "App\\": "src"
.
Merci pour ta réponse, mais quand je mets use Altorouter;
il me mets une erreur comme quoi il n'a pas de compound. Et si je mets vendor\AltoRouter;
il me dit que la classe n'existe pas. Dois-je rajouter dans l'autoloader le dossier vendor?
Bon, je sais pas comment, mais comme par magie AltoRouter est défini. Pour le dumper de symfony j'ai ajouter use Symfony\VarDumper\VarDumper
et dump est défini aussi.
Je n'ai plus aucune erreur.
Merci pour ton aide.
Tu peux mettre une extension pour t'aider à inclure les namespace des classes, moi sur VS code j'utilise "PHP Intelephense".