IPB

Bienvenue invité ( Connexion | Inscription )

 
Reply to this topicStart new topic
> Microframework Slim 3 - routes/URL multilangues
Options
toluol
posté 29 Oct 2018, 18:36
Message #1


Macbidouilleur d'argent !
***

Groupe : Membres
Messages : 790
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.
Go to the top of the page
 
+Quote Post
yponomeute
posté 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
Go to the top of the page
 
+Quote Post
toluol
posté 30 Oct 2018, 12:22
Message #3


Macbidouilleur d'argent !
***

Groupe : Membres
Messages : 790
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... mad.gif
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... unsure.gif

Ce message a été modifié par toluol - 30 Oct 2018, 12:24.
Go to the top of the page
 
+Quote Post
yponomeute
posté 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



Citation (toluol @ 30 Oct 2018, 12:22) *
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... mad.gif

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
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Nous sommes le : 23rd July 2019 - 04:22