Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonsoir,
j'obtiens l'erreur suivante :
Fatal error: Undefined class constant 'MYSQL_DATETIME' in /var/www/MyZendwebapp1/application/controllers/ServeurController.php on line 75.
sachant que 'MYSQL_DATETIME' est une constante que j'ai défini dans la classe App_DateTime. J' ai appelé cette constante dans le controller 'ServeurController'.
Ce que je trouve étrange c'est que la classe 'App_DateTime' est reconnue car sinon j'aurais obtenu l'erreur 'Class not found'.
J'ai besoin de votre aide car je savais pas vraimant l'origine de cette erreur.
Merci pour vos réponses.
Hors ligne
peut-on avoir la définition de la constante ??
et et l'appel à la classe et à la constante
A+JYT
Hors ligne
Salut!!
la définition de la classe est la suivante:
<?php
class App_DateTime extends Zend_Date
{
const MYSQL_DATE = "yyyy-MM-dd";
const MYSQL_DATETIME = "yyyy-MM-dd HH:mm:ss";
}
cette classe est définie dans le fichier: /home/rokia/ZendFramework/library/Zend/DateTime.php
je appelle la classe et la constante de la façon suivante:
[...]
$date = new Zend_Dojo_Form_Element_DateTextBox('date');
$val=new Zend_Validate_Date (DateTime:: MYSQL_DATETIME);
$date->addValidator($val);
[..]
Hors ligne
nn plus ,lorsque je mets App_DateTime il me retourne l'erreur 'class not found'
Hors ligne
j'ai dans mon fichier application.ini :
includePaths.library = APPLICATION_PATH "/../library"
J'ai mis le fichier DateTime.php dans le meme emplacement des classes de la bibliothèque zend.
Par contre comment savoir si l'autolaod est activé ou pas?
Merci.
Hors ligne
Bon , je pense pas que c'est un problème de path car j'ai défini une autre classe et je l'ai mis dans le meme emplacement que mon fichier DateTime.php et il l'a reconnue.
je trouve normal qu'il ne trouve pas la class App_DateTime car j'ai pas défini un namespace qui va ajouter App_ lorsque je décalre mes classes.
J'ai essayé avec Zend_Loader mais toujours ça marche pas.Voilà le code que j'ai ajouté:
$loader=new Zend_Loader();
$loader->loadClass('DateTime','/home/rokia/ZendFramework/library/Zend');
Bref,je suis encore bloquée.
Hors ligne
Déjà pour bien faire tu ne devrais pas mettre de classe dans le dossier Zend.
A la limite fais un dossier au même niveau que tu appelles App où tu mettras tes classes.
Hors ligne
Ok,merci
j'ai mis la classe dans le dossier library de mon application et j'ai utliser
loadclass ('App_DateTime','../library') et ça marche maintenant.
merci encore une fois.
Hors ligne