Précédent   Forum des professionnels en informatique > PHP > Outils > Zend > Zend Framework
Zend Framework Forum d'entraide sur la programmation PHP avec Zend Framework. Avant de poster -> FAQ ZF, Cours ZF
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 17/07/2008, 15h43   #1
Invité de passage
 
Inscription : juillet 2008
Messages : 12
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : juillet 2008
Messages : 12
Points : 4
Points : 4
Par défaut Héritage d'une classe

Bonjour

J'ai un module actualite comprenant un controller et un model.

Je voudrais qu'un autre controller contenu dans un autre module hérite de la class controller actualite.

J'ai donc essayé ceci dans le controller de mon module Toto :

Code :
1
2
3
class Toto_ActualityController extends Actuality_IndexController
{
}
Cependant le script ne retrouve pas la class Actuality_IndexController.

Code :
Fatal error:  Class 'Actuality_IndexController' not found
J'ai essayé de spécifier dans le bootstrap le chemin du controller en faisant :

Code :
1
2
3
4
5
ini_set('include_path', ini_get('include_path')
. PATH_SEPARATOR . './application/models'
. PATH_SEPARATOR . './application/controllers'
. PATH_SEPARATOR . 'application/modules/actuality/controllers'
);
et aussi :

Code :
$front->addControllerDirectory('./application/modules/actuality/controllers', 'actuality');
Sans succès. Je pense que je n'utilise pas la bonne méthode, mais quelle est elle ?

Merci d'avance.
iLoLo21 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2008, 17h49   #2
Membre Expert
 
Inscription : janvier 2005
Messages : 1 249
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : janvier 2005
Messages : 1 249
Points : 1 417
Points : 1 417
Et avec un bon petit require_once() ?
vg33 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2008, 09h28   #3
Invité de passage
 
Inscription : juillet 2008
Messages : 12
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : juillet 2008
Messages : 12
Points : 4
Points : 4
Citation:
Envoyé par vg33 Voir le message
Et avec un bon petit require_once() ?
Hum pourquoi pas, mais le système de routage de Zend est pas censé gérer ça ?
iLoLo21 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2008, 11h20   #4
Membre Expert
 
Inscription : janvier 2005
Messages : 1 249
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : janvier 2005
Messages : 1 249
Points : 1 417
Points : 1 417
Es-tu en autoload ?
Dans le bootstrap :
Code :
1
2
3
// Zend_Loader
require_once "Zend/Loader.php";
Zend_Loader::registerAutoload();
vg33 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2008, 12h27   #5
Invité de passage
 
Inscription : juillet 2008
Messages : 12
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : juillet 2008
Messages : 12
Points : 4
Points : 4
Oui, je suis bien en autoload. Pour ça que je comprend pas pourquoi il ne me trouve pas la class...
iLoLo21 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2008, 13h34   #6
Membre Expert
 
Inscription : janvier 2005
Messages : 1 249
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : janvier 2005
Messages : 1 249
Points : 1 417
Points : 1 417
Dans l'include path, essaye de rajouter un ./ ou ../ avant le dossier de ton controller.
vg33 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2008, 14h18   #7
Invité de passage
 
Inscription : juillet 2008
Messages : 12
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : juillet 2008
Messages : 12
Points : 4
Points : 4
Citation:
Envoyé par vg33 Voir le message
Dans l'include path, essaye de rajouter un ./ ou ../ avant le dossier de ton controller.
Oui c'est déjà le cas : ./

J'ai essayé avec ../ aussi mais toujours rien.

Je vais laisser le require_once en attendant.
iLoLo21 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2008, 14h22   #8
Membre Expert
 
Inscription : janvier 2005
Messages : 1 249
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : janvier 2005
Messages : 1 249
Points : 1 417
Points : 1 417
Citation:
Envoyé par iLoLo21 Voir le message
Oui c'est déjà le cas : ./
Ah bon ? Parce que ce n'est pas le cas dans le code de ton 1er message.
vg33 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2008, 14h59   #9
Invité de passage
 
Inscription : juillet 2008
Messages : 12
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : juillet 2008
Messages : 12
Points : 4
Points : 4
Citation:
Envoyé par vg33 Voir le message
Ah bon ? Parce que ce n'est pas le cas dans le code de ton 1er message.
C'est exact mais j'ai changé entre temps en fait pour tester et ça ne change rien.J'ai même viré la ligne ça ne lui fait ni chaud ni froid de toute façon...

Je pense que mon bootstrap est mal foutu.

Merci pour les infos.
iLoLo21 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2008, 16h32   #10
Membre Expert
 
Inscription : janvier 2005
Messages : 1 249
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : janvier 2005
Messages : 1 249
Points : 1 417
Points : 1 417
Perso, je ne mets que mes dossiers models et library dans l'include path, car ce sont les classes que j'appelle tout le temps. Pour les autres, un coup de require_once() est beaucoup plus simple.
vg33 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h32.


 
 
 
 
Partenaires

Hébergement Web