Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > symfony
symfony Forum d'entraide sur le framework PHP symfony. Avant de poster : cours symfony et FAQ symfony
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/12/2011, 18h30   #1
Invité de passage
 
Inscription : mai 2006
Messages : 15
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 15
Points : 1
Points : 1
Par défaut Twig sans Symfony et page d'erreur (404)

Bonjour,

J'utilise Twig comme moteur de templates seul sans Symfony. Je n'arrive pas à renvoyer les erreurs d'url type 404 vers un template de page d'erreur 404 (et d'une manière générale récupérer les exceptions PHP lancées par Twig).

J'ai essayé de mettre des if mais l'exception pour une page inexistante est lancée avant, dans le loader Twig.

Je n'ai rien trouvé à ce sujet sur le web, les seuls articles que j'ai pu lire concernent l'utilisation de Twig avec Symfony.

Merci d'avance.

PS : j'ai des urls du type http://www.site.com/ma-page. Pour une page inexistante, X-debug m'affiche ceci :

Fatal error: Uncaught exception 'Twig_Error_Loader' with message 'Unable to find template "ma-page.html" (looked into: templates).' in C:\Program Files\wamp\www\dev\lib\twig\lib\Twig\Loader\Filesystem.php on line 129
( ! ) Twig_Error_Loader: Unable to find template "ma-page.html" (looked into: templates). in C:\Program Files\wamp\www\dev\lib\twig\lib\Twig\Loader\Filesystem.php on line 129
lapaupiette est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/12/2011, 09h06   #2
Expert Confirmé
 
Avatar de grunk
 
Homme Olivier
Développeur Web
Inscription : août 2003
Messages : 1 837
Détails du profil
Informations personnelles :
Nom : Homme Olivier
Âge : 27
Localisation : France, Côte d'Or (Bourgogne)

Informations professionnelles :
Activité : Développeur Web
Secteur : Industrie

Informations forums :
Inscription : août 2003
Messages : 1 837
Points : 3 318
Points : 3 318
les exception se gèrent avec un bloc try/catch pas avec des if :

Code :
1
2
3
4
5
try{
    $tpl = $twig->loadTemplate('index.html');
} catch (Twig_Error_Loader $e) {
    $tpl = $twig->loadTemplate('404.html');
}
grunk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/12/2011, 11h19   #3
Invité de passage
 
Inscription : mai 2006
Messages : 15
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 15
Points : 1
Points : 1
Par défaut Ok merci

Pour les exceptions je connais, mais sur ce coup là je suis passé à côté (peut-être le cerveau fatigué par trop d'heures de dev consécutives dans la même journée !). En fait je cherchais plus à régler mon problème avec la fonction file_exists() (d'où mes 'if').
lapaupiette est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h54.


 
 
 
 
Partenaires

Hébergement Web