Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 19-04-2010 16:33:48

Issiel
Membre
Date d'inscription: 08-01-2010
Messages: 29

[Résolu][zf1.10] Ajouter mes librairies

Bonjour à tous. J'ai commencé par suivre quelques tutos et j'ai décidé de voler de mes propres ailes maintenant. Je n'arrête pas de me hurter à des problèmes.

Je cherchais un moyen d'effectuer une vérification sur mot de passe pour un module d'inscription de membre. Apparemment cette classe n'existerait pas sur Zend, et j'ai donc décidé de la développer moi même.

Mon application a été créée avec Zend_Tool.
J'ai ajouté à la racine de mon site dans le dossier library un dossier intitulé Issiel. Dedans j'y ai ajouté un repertoire nommé Validate qui contiendra un fichier php nommé SameAs.

Dans mon formulaire, je fais $validate = new Issiel_Validate_SameAs();
Ma classe dans le fichier SameAs.php est bien nommée Issiel_Validate_SameAs.

Que me manque-t-il?

Dernière modification par Issiel (19-04-2010 17:58:19)

Hors ligne

 

#2 19-04-2010 16:40:20

Blount
Membre
Date d'inscription: 23-06-2009
Messages: 98
Site web

Re: [Résolu][zf1.10] Ajouter mes librairies

Il ne te manque rien si tu n'as pas d'erreur big_smile
Si tu as des erreurs, montre les nous.

Hors ligne

 

#3 19-04-2010 16:42:29

Issiel
Membre
Date d'inscription: 08-01-2010
Messages: 29

Re: [Résolu][zf1.10] Ajouter mes librairies

Fatal error: Class 'Issiel_Validate_SameAs' not found in D:\wamp\www\projetz\application\forms\Register.php  on line 36

^^ Il ne la trouve pas. J'ai fais un echo get_include_path(); si tu veux. Il donne ceci :
D:\wamp\www\projetz\application/../library;D:\wamp\www\projetz\library;d:\wamp\www\projetz\library;.

Mmmm je pense que tu es le gars qui m'a aidé sur le sdz ^^
Ta classe marche bien quand je l'inclue manuellement cependant si je ne fais pas le require_once devant ça ne va plus.

Dernière modification par Issiel (19-04-2010 16:45:01)

Hors ligne

 

#4 19-04-2010 16:49:54

Blount
Membre
Date d'inscription: 23-06-2009
Messages: 98
Site web

Re: [Résolu][zf1.10] Ajouter mes librairies

As-tu configuré ton autoload ?
Par exemple, chez moi j'ai :

Code:

Zend_Loader_Autoloader::getInstance()->registerNamespace('JR_');

Edit : oui c'est moi celui du SdZ wink

Dernière modification par Blount (19-04-2010 16:50:16)

Hors ligne

 

#5 19-04-2010 16:53:52

Issiel
Membre
Date d'inscription: 08-01-2010
Messages: 29

Re: [Résolu][zf1.10] Ajouter mes librairies

<?php

class Bootstrap extends Zend_Application_Bootstrap_Bootstrap {
    protected function _initAutoload() {
        $moduleLoader = new Zend_Application_Module_Autoloader(array(
                        'namespace' => 'Issiel_',
                        'basePath' => APPLICATION_PATH));
        return $moduleLoader;
    }
}

J'ai modifié mon bootstrap de cette manière sans résultat. L'erreur reste la même.

Hors ligne

 

#6 19-04-2010 17:31:15

Issiel
Membre
Date d'inscription: 08-01-2010
Messages: 29

Re: [Résolu][zf1.10] Ajouter mes librairies

Bon je récapitule...

Fichier .ini :

[production]
phpSettings.display_startup_errors = 0
phpSettings.display_errors = 0
phpSettings.date.timezone = "Europe/Paris"
includePaths.library = APPLICATION_PATH "/../library"
bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
bootstrap.class = "Bootstrap"
appnamespace = "Application"
resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
resources.layout.layoutpath = APPLICATION_PATH "/layouts"
resources.frontController.params.displayExceptions = 1

resources.db.adapter = PDO_MYSQL
resources.db.params.host = localhost
resources.db.params.username = root
resources.db.params.password =
resources.db.params.dbname = projetz

[staging : production]

[testing : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1

[development : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
resources.frontController.params.displayExceptions = 1

Ma structure :

/application
     /configs
     /controllers
     /forms
     /layouts
     /models
     /views
     Bootstrap.php
/library
     /Issiel
          /Validate
               SameAs.php
/public
     index.php

Mon fichier SameAs.php

class Issiel_Validate_SameAs extends Zend_Validate_Abstract {

   
    public function __construct(Zend_Form_Element $field = null)
    {
    }

Mon bootstrap

class Bootstrap extends Zend_Application_Bootstrap_Bootstrap {

    protected function _initAutoload() {
        $moduleLoader = new Zend_Application_Module_Autoloader(array(
                        'namespace' => '',
                        'basePath' => APPLICATION_PATH));
        return $moduleLoader;
    }

Si vous avez besoin d'autres informations n'hésitez pas.

Hors ligne

 

#7 19-04-2010 17:31:28

shadypierre
Membre
Date d'inscription: 24-03-2010
Messages: 617

Re: [Résolu][zf1.10] Ajouter mes librairies

Tu n'as pas plutot un index.php qui contiendrait "Zend_Loader_Autoloader::getInstance()" ???

Hors ligne

 

#8 19-04-2010 17:38:24

Issiel
Membre
Date d'inscription: 08-01-2010
Messages: 29

Re: [Résolu][zf1.10] Ajouter mes librairies

Non :s
La structure s'est faite toute seule quand j'ai utilisé Zend_Tool.
L'autoload marche pour les classes dans Zend... Mais pas les miennes visiblement.

Hors ligne

 

#9 19-04-2010 17:58:01

Issiel
Membre
Date d'inscription: 08-01-2010
Messages: 29

Re: [Résolu][zf1.10] Ajouter mes librairies

J'ai modifié mon bootstrap en fait...
Je ne sais pas trop pourquoi cela ne fonctionnait pas avant.

J'ai donc fait comme vous me l'avez dit :

    protected function _initAutoload()
    {
        Zend_Loader_Autoloader::getInstance()->registerNamespace('Issiel_');
    }

Ma classe est appelée... Avec pleins d'erreurs, place au débugage. Merci à ceux qui ont cherché à m'aider.

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages