|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
![]() ![]() Gérard ErnaelstenDBA & Dev PHP Inscription : juin 2005 Messages : 3 182 ![]() |
Bonjour,
Je dois initialiser les même variables dans tout mes controllers. Par défaut je fais un copier coller de tout ce dont j'ai besoin. Mais en Ror, il est possible de le faire via un helper une seul et unique fois. Existe-il la même possibilité sur ZF . D'avance merci. MaitrePylos
__________________
Il faut toujours viser la lune, car même en cas d'échec on arrive dans les étoiles. O.Wilde Mes Articles/Critiques : Merise - Guide pratique PHPExcel PostgreSQL : Administration et exploitation d'une base de données PostgreSQL : Entraînez-vous à créer et programmer une base de données relationnelle |
|
|
00
|
|
|
#2 |
|
Expert Confirmé Sénior
![]() ![]() |
Tu dois peut-être pouvoir le faire avec un plugin, mais tu peux tout à fait utiliser l'héritage pour résoudre ton problème
Tu crée un controller abstrait (AbstractController par exemple), dans la méthode init tu initialise tout ce que tu veux et tout tes controllers héritent de ce controller abstrait. Comme ça tu es sûr que tu passes toujours par la méthode init() du controleur parent. Et si tu veux rajouter quelque chose de propre dans ton controleur, il te suffit de redéclarer init, d'appeller la méthode parente et de rajouter le bon code. Si tu veux, je peux te donner un exemple ?
__________________
Tous mes tutos (Java, PHP, SQL-Server, Hardware) - Mon blog anglais JTheque - Site - Forum |
|
00
|
|
|
#3 | ||||
![]() ![]() Gérard ErnaelstenDBA & Dev PHP Inscription : juin 2005 Messages : 3 182 ![]() |
Si je comprend bien
Code :
Code :
__________________
Il faut toujours viser la lune, car même en cas d'échec on arrive dans les étoiles. O.Wilde Mes Articles/Critiques : Merise - Guide pratique PHPExcel PostgreSQL : Administration et exploitation d'une base de données PostgreSQL : Entraînez-vous à créer et programmer une base de données relationnelle |
||||
|
|
00
|
|
|
#4 | ||
|
Expert Confirmé Sénior
![]() ![]() |
C'est ça, sauf qu'il ne faut pas oublier d'appeller la méthode init parente :
parent::init(); Code :
__________________
Tous mes tutos (Java, PHP, SQL-Server, Hardware) - Mon blog anglais JTheque - Site - Forum |
||
|
00
|
|
|
#5 | ||
![]() ![]() Gérard ErnaelstenDBA & Dev PHP Inscription : juin 2005 Messages : 3 182 ![]() |
ben heu
Code :
__________________
Il faut toujours viser la lune, car même en cas d'échec on arrive dans les étoiles. O.Wilde Mes Articles/Critiques : Merise - Guide pratique PHPExcel PostgreSQL : Administration et exploitation d'une base de données PostgreSQL : Entraînez-vous à créer et programmer une base de données relationnelle |
||
|
|
00
|
|
|
#6 | ||
|
Expert Confirmé Sénior
![]() ![]() |
Il faut l'inclure
Si le dossier controllers est dans l'include path : tu peux faire comme ça : Code :
Sinon, comme tous tes contrôleurs utilisent cette classe, tu peux directement mettre Code :
Zend_Loader::loadClass('AbstractController');
__________________
Tous mes tutos (Java, PHP, SQL-Server, Hardware) - Mon blog anglais JTheque - Site - Forum |
||
|
00
|
|
|
#7 |
![]() ![]() Gérard ErnaelstenDBA & Dev PHP Inscription : juin 2005 Messages : 3 182 ![]() |
SUPER
Merci pour ton aide précise et précieuse. MaitrePylos
__________________
Il faut toujours viser la lune, car même en cas d'échec on arrive dans les étoiles. O.Wilde Mes Articles/Critiques : Merise - Guide pratique PHPExcel PostgreSQL : Administration et exploitation d'une base de données PostgreSQL : Entraînez-vous à créer et programmer une base de données relationnelle |
|
|
00
|
|
|
#8 |
|
Expert Confirmé Sénior
![]() ![]() |
Je t'en prie
Si tu as résolu ton problème, n'oublie pas de l'indiquer avec le bouton
__________________
Tous mes tutos (Java, PHP, SQL-Server, Hardware) - Mon blog anglais JTheque - Site - Forum |
|
00
|
|
|
#9 |
![]() ![]() Gérard ErnaelstenDBA & Dev PHP Inscription : juin 2005 Messages : 3 182 ![]() |
SUPER
Merci pour ton aide précise et précieuse. MaitrePylos
__________________
Il faut toujours viser la lune, car même en cas d'échec on arrive dans les étoiles. O.Wilde Mes Articles/Critiques : Merise - Guide pratique PHPExcel PostgreSQL : Administration et exploitation d'une base de données PostgreSQL : Entraînez-vous à créer et programmer une base de données relationnelle |
|
|
00
|
|
|
#10 |
|
Expert Confirmé
![]() ![]() Urbaniste Inscription : juillet 2004 Messages : 1 426 ![]() |
Je déconseille d'appeler la classe AbstractController
en effet dans ZF les nom XxxxxController sont des controller potentiellement instanciable par le dispacher pour être conforme avec la nomenclature ZF et éviter ce petit inconvénient mieux vaut l'appeler Controller_Abstract ou quelque chose du genre. ça ne change rien au principe énoncé si dessus pour ma part j'ai suivit l'appellation de ZF Zend_Controller_Action => App_Controller_Action => MyController A+JYT |
|
|
00
|
|
|
#11 | ||||
![]() ![]() Gérard ErnaelstenDBA & Dev PHP Inscription : juin 2005 Messages : 3 182 ![]() |
Bonjour, et toujours dans le même ordre d'idée comment surchagé une méthode?
Code :
Code :
__________________
Il faut toujours viser la lune, car même en cas d'échec on arrive dans les étoiles. O.Wilde Mes Articles/Critiques : Merise - Guide pratique PHPExcel PostgreSQL : Administration et exploitation d'une base de données PostgreSQL : Entraînez-vous à créer et programmer une base de données relationnelle |
||||
|
|
00
|
|
|
#12 | ||
|
Expert Confirmé Sénior
![]() ![]() |
Je vois pas en quoi c'est de la surchage
Tu veux juste accéder à la variable toto défini dans la classe parente ? Si tu déclares toto en variable de classe dans abstractcontroller, ca ne marche pas ? Code :
__________________
Tous mes tutos (Java, PHP, SQL-Server, Hardware) - Mon blog anglais JTheque - Site - Forum |
||
|
00
|
|
|
#13 |
![]() ![]() Gérard ErnaelstenDBA & Dev PHP Inscription : juin 2005 Messages : 3 182 ![]() |
Merci
__________________
Il faut toujours viser la lune, car même en cas d'échec on arrive dans les étoiles. O.Wilde Mes Articles/Critiques : Merise - Guide pratique PHPExcel PostgreSQL : Administration et exploitation d'une base de données PostgreSQL : Entraînez-vous à créer et programmer une base de données relationnelle |
|
|
00
|
|
|
#14 |
|
Membre régulier
![]() Inscription : juillet 2002 Messages : 149 ![]() |
Vous le placeriez ou dans votre projet ce fichier ?
Je pense à créer un autre dossier library interne au projet, j'ai un dossier externe library que j'inclus dan sle path, ce dossier est commun à plusieurs projets en faite. Je ne vois pas sa place dan sle dossier models non plus donc je pense crée un dosier library interne. Qu'en pensez vous ? Sinon est ce qu el amethode de surcharge est la seul ? On ne peut pa sle faire avec un helper ? En fait moi j'ai un menu que j'aimerai mettre dans tous les controllers. Voilà merci d'avance pour vos réponses |
|
|
00
|
|
|
#15 |
![]() ![]() Gérard ErnaelstenDBA & Dev PHP Inscription : juin 2005 Messages : 3 182 ![]() |
Perso, j'ai un répertoire /inc, qui reprend toutes mes classes supplémentaires et qui ne sont pas fourni par ZF, je pense à Writeexcel par exemple(que j'inclus dans le path naturellement) .
Si tu utilise le mvc, pour ton menu, il suffit de l'intégrer dans un fichier 'header.phtml', qui se trouveras dans le répertoire scripts et que tu appelles dans toutes tes vues. Voici un tuto bien expliqué
__________________
Il faut toujours viser la lune, car même en cas d'échec on arrive dans les étoiles. O.Wilde Mes Articles/Critiques : Merise - Guide pratique PHPExcel PostgreSQL : Administration et exploitation d'une base de données PostgreSQL : Entraînez-vous à créer et programmer une base de données relationnelle |
|
|
00
|
|
|
#16 |
|
Membre régulier
![]() Inscription : juillet 2002 Messages : 149 ![]() |
Oui je vais plutot le nommer autrement que library, oui pourquoi pas inc. Pour l emenu en fait je le genere via le cache d'une requete. Je le genere dynamiquement. J'ai crée un script pour gérer le menu.
Donc j'appelle le menu dans le controller et je l'envoi à la vue Header. Le fait de le mettre dan sle init() est un plus je peut envoyer des variable à d'autre vue que le header, soit le footer ou dan sle contenu pratique pour le chemin de fer du site. Je ne sai spas si c'est correcte mais bon ca marche. Je verrais après pour tout ce qui ets optimisation. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com