Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 27-10-2012 12:03:12

asnodj
Membre
Lieu: Salon de Provence
Date d'inscription: 07-06-2009
Messages: 13

Erreur ZfcUser

Bonjour,

depuis peu je me suis lancé dans l'aventure de migrer mon site en ZF1 vers ZF2 car la logique modulaire me plait bien.

Après plusieurs tentatives je n'arrive toujours pas à avoir un site opérationnel.

J'ai vérifié la config de la base de données et elle est ok, j'ai même essayé avec l'admin de la base dans les params et rien ne change.

Pouvez vous m'éclairer sur ce problème please ?

Pourquoi il me parle de readonly alors qu'il fait un select ?

sad Je comprends rien.

Merci d'avance

File:

Code:

vendor/zendframework/zendframework/library/Zend/Db/Sql/Select.php:164

Message:

Code:

Since this object was created with a table and/or schema in the constructor, it is read only

Stack trace:

Code:

#0 vendor/ZfcUser/src/ZfcUser/Mapper/User.php(17): Zend\Db\Sql\Select->from('user')
#1 vendor/ZfcUser/src/ZfcUser/Validator/AbstractRecord.php(104): ZfcUser\Mapper\User->findByEmail('mail@gmail.co...')
#2 vendor/ZfcUser/src/ZfcUser/Validator/NoRecordExists.php(12): ZfcUser\Validator\AbstractRecord->query('mail@gmail.co...')
#3 vendor/zendframework/zendframework/library/Zend/Validator/ValidatorChain.php(175): ZfcUser\Validator\NoRecordExists->isValid('mail@gmail.co...', Array)
#4 vendor/zendframework/zendframework/library/Zend/InputFilter/Input.php(286): Zend\Validator\ValidatorChain->isValid('mail@gmail.co...', Array)
#5 vendor/zendframework/zendframework/library/Zend/InputFilter/BaseInputFilter.php(195): Zend\InputFilter\Input->isValid(Array)
#6 vendor/zendframework/zendframework/library/Zend/Form/Form.php(441): Zend\InputFilter\BaseInputFilter->isValid()
#7 vendor/ZfcUser/src/ZfcUser/Service/User.php(68): Zend\Form\Form->isValid()
#8 vendor/ZfcUser/src/ZfcUser/Controller/UserController.php(181): ZfcUser\Service\User->register(Array)
#9 vendor/zendframework/zendframework/library/Zend/Mvc/Controller/AbstractActionController.php(87): ZfcUser\Controller\UserController->registerAction()
#10 [internal function]: Zend\Mvc\Controller\AbstractActionController->onDispatch(Object(Zend\Mvc\MvcEvent))
#11 vendor/zendframework/zendframework/library/Zend/EventManager/EventManager.php(468): call_user_func(Array, Object(Zend\Mvc\MvcEvent))
#12 vendor/zendframework/zendframework/library/Zend/EventManager/EventManager.php(208): Zend\EventManager\EventManager->triggerListeners('dispatch', Object(Zend\Mvc\MvcEvent), Object(Closure))
#13 vendor/zendframework/zendframework/library/Zend/Mvc/Controller/AbstractController.php(108): Zend\EventManager\EventManager->trigger('dispatch', Object(Zend\Mvc\MvcEvent), Object(Closure))
#14 vendor/zendframework/zendframework/library/Zend/Mvc/DispatchListener.php(113): Zend\Mvc\Controller\AbstractController->dispatch(Object(Zend\Http\PhpEnvironment\Request), Object(Zend\Http\PhpEnvironment\Response))
#15 [internal function]: Zend\Mvc\DispatchListener->onDispatch(Object(Zend\Mvc\MvcEvent))
#16 vendor/zendframework/zendframework/library/Zend/EventManager/EventManager.php(468): call_user_func(Array, Object(Zend\Mvc\MvcEvent))
#17 vendor/zendframework/zendframework/library/Zend/EventManager/EventManager.php(208): Zend\EventManager\EventManager->triggerListeners('dispatch', Object(Zend\Mvc\MvcEvent), Object(Closure))
#18 vendor/zendframework/zendframework/library/Zend/Mvc/Application.php(297): Zend\EventManager\EventManager->trigger('dispatch', Object(Zend\Mvc\MvcEvent), Object(Closure))
#19 public/index.php(12): Zend\Mvc\Application->run()
#20 {main}

Dernière modification par asnodj (27-10-2012 16:44:18)


OS : Ubuntu 9.10
IDE:  Eclipse PDT avec RSE et DTP

Hors ligne

 

#2 27-10-2012 16:41:26

asnodj
Membre
Lieu: Salon de Provence
Date d'inscription: 07-06-2009
Messages: 13

Re: Erreur ZfcUser

J'ai trouvé pourquoi cela ne marche pas.

Dans le fichier :

vendor/zendframework/zendframework/library/Zend/Db/Sql/Select.php

dans le constructeur on trouve cela :

Code:

[lang=php]   
    /**
     * Constructor
     *
     * @param  null|string $table
     */
    public function __construct($table = null)
    {
        if ($table) {
            $this->from($table);
            $this->tableReadOnly = true;
        }

        $this->where = new Where;
        $this->having = new Having;
    }

Comme vous pouvez le voir, le contructeur sette la variable tableReadOnly à true .

Quelqu'un pourrait m'expliquer l'utilité de ce truc ?

En le changeant à false tout se met à marcher mais je voudrais quand-même comprendre le pourquoi.


OS : Ubuntu 9.10
IDE:  Eclipse PDT avec RSE et DTP

Hors ligne

 

#3 27-10-2012 19:10:51

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1261

Re: Erreur ZfcUser

Salut, j'avoue ne pas trop connaitre Zend\Db par contre les fois où je me suis servi de ZfcUser je l'ai utilisé avec Doctrine et ça fonctionnait vraiment bien. Donc je ne peux que t'encourager d'aller vers cette solution.

Ca a quand même quelques impacts :
- Application légèrement plus lente mais par rapport à ZF1 au final ça sera plus rapide
- Pour avoir une architecture modulaire faut vraiment bien penser comment déclarer tes entités.

En contrepartie tu bénéficies de tous les avantages d'avoir un ORM smile

Hors ligne

 

#4 28-10-2012 20:32:56

asnodj
Membre
Lieu: Salon de Provence
Date d'inscription: 07-06-2009
Messages: 13

Re: Erreur ZfcUser

Ok. Merci pour ton aide Orkin

J'ai une question concernant ZfcUser :

Quand j'ai créé mon utilisateur nommé asnodj il j'ai été redirigé sur l'index du controleur (user) et ce qui m'a énormément étonné est le fait qu'une image était associé à mon compte fraichement créé.

Cette image est mon avatar que j'utilise dans ce forum mais aussi sur d'autres comptes.

Comment il a trouvé cette image ? Est ce que ZfcUser fait appel à des webservices ?

Merci d'avance


OS : Ubuntu 9.10
IDE:  Eclipse PDT avec RSE et DTP

Hors ligne

 

#5 29-10-2012 09:45:19

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1261

Re: Erreur ZfcUser

A confirmer mais ZfcUser doit utiliser Gravatar pour les avatars. Tu as du utiliser la même adresse mail de ce fait il a fait le lien big_smile. Tu as moyen de voir ce genre d'appel via firebug sous firefox par exemple. C'est un outil vraiment bien foutu si tu connais pas !

Pour la redirection vers l'index ça doit être configurable si ça te gêne.

Hors ligne

 

#6 29-10-2012 11:34:06

asnodj
Membre
Lieu: Salon de Provence
Date d'inscription: 07-06-2009
Messages: 13

Re: Erreur ZfcUser

Merci encore pour l'info. La seule chose qui me dérangerai ce serait s'il va faire des inscriptions chez Gravatar ou autre.

Pour Firebug, oui je connais, je vais faire un test avec. Je n'ai pas pensé à le faire.


OS : Ubuntu 9.10
IDE:  Eclipse PDT avec RSE et DTP

Hors ligne

 

#7 29-10-2012 11:37:01

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1261

Re: Erreur ZfcUser

Non il ne va pas faire d'inscription chez Gravatar, il fait simplement une recherche. Sur Gravatar tu peux accéder à ton avatar avec une url du genre http://gravatar.com/monemail/avatar ou un truc dans le genre du coup c'est facile à implémenter et ça marche assez facilement.

Hors ligne

 

#8 01-11-2012 15:55:08

alien7
Membre
Date d'inscription: 29-04-2007
Messages: 447

Re: Erreur ZfcUser

Orkin a écrit:

Salut, j'avoue ne pas trop connaitre Zend\Db par contre les fois où je me suis servi de ZfcUser je l'ai utilisé avec Doctrine et ça fonctionnait vraiment bien. Donc je ne peux que t'encourager d'aller vers cette solution.

Ca a quand même quelques impacts :
- Application légèrement plus lente mais par rapport à ZF1 au final ça sera plus rapide
- Pour avoir une architecture modulaire faut vraiment bien penser comment déclarer tes entités.

En contrepartie tu bénéficies de tous les avantages d'avoir un ORM smile

Y aurait-t-il un tuto pour uitiliser Zfcuser avec doctrine ?


ZF 2.3 - Twitter Bootstrap 3.2
Local: Ubuntu  -> Apache2 2.4 - MariaDB 10 - PHP 5.6

Hors ligne

 

#9 02-11-2012 20:22:47

bakura
Administrateur
Date d'inscription: 30-01-2010
Messages: 353

Re: Erreur ZfcUser

Regarde du côté de ZfcUserDoctrineORM aussi smile.

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