Microframework Slim 3 - routes/URL multilangues |
Bienvenue invité ( Connexion | Inscription )
Microframework Slim 3 - routes/URL multilangues |
29 Oct 2018, 18:36
Message
#1
|
|
Macbidouilleur d'argent ! Groupe : Membres Messages : 792 Inscrit : 14 Nov 2003 Lieu : Genève Membre no 11 656 |
Bonsoir,
je suis en train de me former à Slim3 et je ne vois pas comment on pourrait facilement mettre en place un système de routes où l'URL est traduit. Par exemple : Code fr/accueil fr/entreprise fr/contact en/home en/compagny en/contact Le plus simple (ou concis) que j'ai trouvé étant de faire une fonction par contrôleur de page : Code function home($request, $response) { return $this->view->render($response, 'home.twig'); }; $app->get('/fr/accueil', 'home')->setName('root-fr'); $app->get('/en/home', 'home')->setName('root-en'); function compagny($request, $response) { return $this->view->render($response, 'compagny.twig'); }; $app->get('/fr/entreprise', 'compagny')->setName('compagny-fr'); $app->get('/en/compagny', 'compagny')->setName('compagny-en'); function contact($request, $response) { return $this->view->render($response, 'contact.twig'); }; $app->get('/fr/contact', 'contact')->setName('contact-fr'); $app->get('/en/contact', 'contact')->setName('contact-en'); Mais cela me semble très redondant si on a une grande structure de site... Avez-vous une idée pour simplifier ces routes multiples ? Mettre toutes les routes dans un tableau multi-dimentionel et une fonction qui le parcourt ? Merci pour votre aide. :-) Ce message a été modifié par toluol - 29 Oct 2018, 18:37. |
|
|
30 Oct 2018, 09:18
Message
#2
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 4 969 Inscrit : 26 Jan 2011 Lieu : Pollachius virens Membre no 164 083 |
Dans la liste des middleware pour slim https://github.com/slimphp/Slim/wiki/Middle...-Framework-v3.x il y a ce qu'il faut je pense : https://github.com/tboronczyk/localization-middleware
-------------------- MBP 2017 15" avec clavier pourri et touchbar inutile
|
|
|
30 Oct 2018, 12:22
Message
#3
|
|
Macbidouilleur d'argent ! Groupe : Membres Messages : 792 Inscrit : 14 Nov 2003 Lieu : Genève Membre no 11 656 |
merci pour cette idée. Mais je suis bloqué sur un autre truc sans doute simplissime... J'ai essayé, avec composer, d'installer le middleware que tu m'as proposé :
Code composer require boronczyk/localization-middleware or, j'ai un retour comme ceci :Could not find package boronczyk/localization-middleware at any version matching your PHP version 5.5.38.0 et puis : Code require [--dev] [--prefer-source] [--prefer-dist] [--no-progress] [--no-update] [--update-no-dev] [--update-with-dependencies] [--ignore-platform-reqs] [--sort-packages] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--] [<packages>]... Bizarrement, je suis sur Mamp Pro, et j'ai installé PHP 7.2.1. sur ma partition virtuelle... Un fichier phpinfo(); me confirme cette version. Alors pourquoi, diantre, composer estime que je suis en PHP 5.5 ... ? grrr... Et que dois-je faire sur Terminal ? choisir une option ? Dans mon fichier composer.json, j'ai notamment : Code "require": { "php": "^7.0" }, "require-dev": { "phpunit/phpunit": "^6.0" } Désolé pour cette question batarde... Je suis un novice dans ce domaine... Ce message a été modifié par toluol - 30 Oct 2018, 12:24. |
|
|
1 Nov 2018, 09:33
Message
#4
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 4 969 Inscrit : 26 Jan 2011 Lieu : Pollachius virens Membre no 164 083 |
Bizarrement, je suis sur Mamp Pro, et j'ai installé PHP 7.2.1. sur ma partition virtuelle... Un fichier phpinfo(); me confirme cette version. Alors pourquoi, diantre, composer estime que je suis en PHP 5.5 ... ? grrr... Tout simplement parce que dans le terminal tu n'utilises pas le binaire php de MAMP mais celui installé par défaut par MacOS. Il faut utiliser le binaire php de MAMP pour lancer composer (le même que celui de ton projet php vu que visiblement tu as plusieurs versions de php installées avec MAMP Pro). -------------------- MBP 2017 15" avec clavier pourri et touchbar inutile
|
|
|
Nous sommes le : 25th April 2024 - 00:51 |