IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Livres PHP Discussion :

Zend Framework Bien développer en PHP [Débat]


Sujet :

Livres PHP

  1. #1
    Membre régulier Avatar de fadex
    Inscrit en
    septembre 2005
    Messages
    223
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : septembre 2005
    Messages : 223
    Points : 105
    Points
    105
    Par défaut Zend Framework Bien développer en PHP
    Bonjour

    Je viens d’acheter le livre (Zend Framework Bien développer en PHP) de Julien Pauli et Guillaume Ponçon, et je crée cette discussion pour partager cette expérience.

    Donc n’hésitez pas de poster si vous avez des remarques, si vous rencontrez des bugs, des critiques…

    merci

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    octobre 2002
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : octobre 2002
    Messages : 84
    Points : 80
    Points
    80
    Par défaut
    Belle initiative
    J'ai moi-même fait l'acquisition de ce bouquin et mes premières impressions : c'est du lourd !
    Il va dans le détail tout en balayant le framework de façon plutôt exhaustive. Moi qui suit un peu léger en MVC, il va falloir m'accrocher pour tout saisir...

    Mais je compte sur vous...

    Bon week-end à tous !

  3. #3
    Membre régulier Avatar de fadex
    Inscrit en
    septembre 2005
    Messages
    223
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : septembre 2005
    Messages : 223
    Points : 105
    Points
    105
    Par défaut
    Bonjour

    Page 66 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    protected $_primary = array('id_user', 'id_room');
    protected $_primary = array('creator', 'id_room');
    page 67 :

    la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $reservation = $Treserv->find(1)->current();
    donne cette erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    exception 'Zend_Db_Table_Exception' with message 'Too few columns for the primary key' in ... 
    la class TReservation à deux clés primaire, je croix qu'il faut utiliser plutôt un truc comme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $reservation = $Treserv->find(1,1)->current();
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    remplacer 
    protected $_primary = array('creator', 'id_room');
    par 
    protected $_primary = 'id';
    mais pour cette table la clé est double ( creator et id_room )

    je ne sais pas ( je suis débutant lol ) mais quand j'ai testé avec find(1,1) ca marcher, mais ca ne respecte pas le but de la requête ( Trouver la salle concernée par une réservation = à partir d'un id de resa, on retrouve le nom de la salle )

    merci à juju de nous expliquer

  4. #4
    Membre éclairé Avatar de manuscle
    Homme Profil pro
    Développeur informatique
    Inscrit en
    septembre 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : septembre 2004
    Messages : 487
    Points : 663
    Points
    663
    Par défaut
    Salut!

    J'ai également acheté ce livre et il est vraiment super. Mon seul problème est que je débute avec les classes et le MVC... Donc à partir du chapitre 6 ce fut horriblement difficile de comprendre! Le problème dans ce bouquin quand on débute, c'est qu'il y en a partout. C'est donc difficile d'apprendre un composant qui est en relation avec plusieurs.... M'enfin maintenant ça va mieux! lol

    Pour ton problème fadex je te conseille de regarder le code source du fichier TReservation.php tu verra qu'il est différent de l'exemple du bouquin.
    Les idiots sont ceux qui ne posent jamais de question!

  5. #5
    Membre à l'essai
    Développeur Web
    Inscrit en
    août 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : août 2008
    Messages : 11
    Points : 13
    Points
    13
    Par défaut ControllerTest
    Hello,
    est-ce que quelqu'un a essayé d'exécuter le cas de test fourni dans l'exemple ?

    Je récolte des erreurs, car il y a visiblement, à chaque méthode setUp(), une tentative de modifier une directive avec ini_set(). L'erreur levé est "session déjà active".

    Je n'arrive pas à trouver le moyen de désactiver ceci... si quelqu'un à une solution, elle serait bienvenue !!



    Nicolas
    Images attachées Images attachées  

  6. #6
    Membre à l'essai
    Développeur Web
    Inscrit en
    août 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : août 2008
    Messages : 11
    Points : 13
    Points
    13
    Par défaut controllerTest
    Holà,
    ben voilà un soluce bricolo pour faire passer le cas de test "controllerTest".

    Il faut modifier le bootstrap.php se situant dans le répertoire /tests:
    (ligne 27)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if (!Zend_Session::isStarted()) {
       Zend_Session::setOptions($configSession->toArray());
       Zend_Session::setOptions(array('save_path' => $appPath .    $configSession->save_path));
    }

    Vive les tests

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    février 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : février 2009
    Messages : 34
    Points : 40
    Points
    40
    Par défaut commentaires !!
    Bonjour, j'ai enfin recu ce livre depuis hier et j'ai déjà dépassé la 100ème page. J'utilise déjà le framework et je voulais m'améliorer et ce livre est fait pour ! Cependant je trouve certains exemple sur les possibilitées un peu trop "à la va vite" cad qu'il manque horriblement de commentaires sur des codes sources. Mais bon pour le moment je suis fan du livre !
    La méthodologie est bien, avec des schémas UML "Simplifiés" (diag de classes).

  8. #8
    Membre actif

    Profil pro
    Inscrit en
    mai 2008
    Messages
    186
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : mai 2008
    Messages : 186
    Points : 234
    Points
    234
    Par défaut
    Hello,

    Ben moi je débute et j'ai des problèmes ^^

    Pour ceux qui auraient le livre, ça serait au début en page 80. Je tente de tester les bases mais j'ai une erreur. Quand je tente d'appeler http://localhost/zend/Index/ j'obtiens une erreur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Warning:  Zend_Loader::include_once(Zend\Controllers\Action.php) [zend-loader.include-once]: failed to open stream: No such file or directory in E:\Programmes\wamp\wamp\www\zend\library\Zend\Loader.php on line 83
    
    Warning:  Zend_Loader::include_once() [function.include]: Failed opening 'Zend\Controllers\Action.php' for inclusion (include_path='.;E:\Programmes\wamp\wamp\www\zend\library;E:\Programmes\wamp\wamp\www\zend;c:\php\includes') in E:\Programmes\wamp\wamp\www\zend\library\Zend\Loader.php on line 83
    
    Fatal error:  Class 'Zend_Controllers_Action' not found in E:\Programmes\wamp\wamp\www\zend\application\controllers\IndexController.php on line 3
    Et le bootstrap contient ce qu'y a dans le livre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
       //Zend_Loader
       require_once 'Zend/Loader.php';
       
       //chargement auto des classes
       Zend_Loader::registerAutoload();
          
       //Appel du contrôleur frontal qui gère la requête
      Zend_Controller_Front::run('../application/controllers');
       
      
    ?>
    Je pense que le contrôleur frontal me fait des siennes...je sais pas pourquoi.

    Il vous faudrait plus d'informations ?

    Merci

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    janvier 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : janvier 2008
    Messages : 31
    Points : 36
    Points
    36
    Par défaut
    J'ai pas le bouquin, mais Spike :
    Dans ton fichier IndexController, tu étends une classe qui n'existe pas.
    remplace Zend_Controllers_Action par Zend_Controller_Action, et ça devrait marcher ( le s est en trop ).

  10. #10
    Membre actif Avatar de miya
    Profil pro
    Inscrit en
    janvier 2006
    Messages
    469
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : janvier 2006
    Messages : 469
    Points : 240
    Points
    240
    Par défaut
    J'ai commencé a jouer avec Zend depuis quelque mois principalement avec des tutos sur internet.

    Puis un jour(c'est a dire avant hier), je décide d'acheter ce bouquin et.... je suis fan! Clair, précis, la démarche intuitive, on commence par les classes nécessaire pour la création du bootstrap. En l'espace de 2pages, j'ai appris énormément de chose, donc j'imagine une fois le bouquin fini.

    En deux jours, j'ai avalé une 50n de pages.

    Que du bonheur!

    Félicitation aux auteurs

  11. #11
    Membre actif

    Profil pro
    Inscrit en
    mai 2008
    Messages
    186
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : mai 2008
    Messages : 186
    Points : 234
    Points
    234
    Par défaut
    Merci, il me reste un problème encore:

    Si je test le boostrap html/index.php j'obtiens:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Fatal error: Uncaught exception 'Zend_Controller_Dispatcher_Exception' with message 'Invalid controller specified (error)' in E:\Programmes\wamp\wamp\www\zend\library\Zend\Controller\Dispatcher\Standard.php:241
    
    Stack trace: #0 E:\Programmes\wamp\wamp\www\zend\library\Zend\Controller\Front.php(934):
    
    Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http)) #1 E:\Programmes\wamp\wamp\www\zend\library\Zend\Controller\Front.php(214):
    
    Zend_Controller_Front->dispatch() #2 E:\Programmes\wamp\wamp\www\zend\htdocs\html\index.php(10):
    
    Zend_Controller_Front::run('../application/...') #3 {main} thrown in E:\Programmes\wamp\wamp\www\zend\library\Zend\Controller\Dispatcher\Standard.php on line 241

  12. #12
    Nouveau membre du Club
    Profil pro
    Inscrit en
    janvier 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : janvier 2008
    Messages : 31
    Points : 36
    Points
    36
    Par défaut
    C'est parce que tu n'as pas de contrôleur d'erreur, il faut que tu en crées un. Par défaut, c'est ErrorController, et l'action qui rend les erreurs, c'est errorAction je crois.
    Ce doit être indiqué dans le bouquin, à défaut, c'est dans la documentation de ZF.

  13. #13
    Membre actif Avatar de miya
    Profil pro
    Inscrit en
    janvier 2006
    Messages
    469
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : janvier 2006
    Messages : 469
    Points : 240
    Points
    240
    Par défaut
    Stp spike2 ouvre un nouveau topic pour tes erreurs en dehors des bugs concernant le livre.Merci.

    Ci joint les tables nécessaire pour le chapitre 5
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
     
    CREATE TABLE `user` (
    	`id` INT NOT NULL AUTO_INCREMENT ,
    	`lastname` VARCHAR(255) NOT NULL ,
    	`firstname` VARCHAR( 255 ) NOT NULL ,
    	`email` VARCHAR( 255 ) NOT NULL ,
    	`password` VARCHAR( 255 ) NOT NULL ,
    	PRIMARY KEY ( `id` )
    ) 	ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
     
    CREATE TABLE `reservationuser` (
    	`id_user` INT NOT NULL ,
    	`id_reservation` INT NOT NULL ,
    	PRIMARY KEY ( `id_user` ),
    	CONSTRAINT `user_fk_constraint` FOREIGN KEY (`id_user`)
    	REFERENCES `user` (`id`),
    	CONSTRAINT `user_reserv_fk_constraint` FOREIGN KEY (`id_reservation`)
    	REFERENCES `reservation` (`id`)
    ) 	ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
     
    CREATE TABLE `reservation` (
    	`id` INT NOT NULL AUTO_INCREMENT ,
    	`id_room` INT NOT NULL ,
    	`date_begin` DATE NOT NULL ,
    	`date_end` DATE NOT NULL ,
    	`usage` VARCHAR( 255 ) NOT NULL ,
    	`creator` INT NOT NULL ,
    	CONSTRAINT `creator_fk_constraint` FOREIGN KEY (`creator`)
    	REFERENCES `user` (`id`),
    	CONSTRAINT `room_fk_constraint` FOREIGN KEY (`id_room`)
    	REFERENCES `room` (`id`),
    	PRIMARY KEY ( `id` )
    ) 	ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
     
    CREATE TABLE `room` (
    	`id` INT NOT NULL AUTO_INCREMENT ,
    	`name` VARCHAR( 255 ) NOT NULL ,
    	`capacity` INT NOT NULL ,
    	PRIMARY KEY ( `Id` )
    ) 	ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
     
    insert into `user` VALUES(1,'aa','bb','cc@xx.fr','xxx');
    insert into `user` VALUES(2,'dd','ee','dd@xx.fr','xxx');
    insert into `room` VALUES(1,'zend',100);
    insert into `reservation` VALUES(1,1,NOW(),NOW(),'azerty',1);
    insert into `reservationuser` VALUES(1,1);

  14. #14
    Membre éclairé Avatar de manuscle
    Homme Profil pro
    Développeur informatique
    Inscrit en
    septembre 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : septembre 2004
    Messages : 487
    Points : 663
    Points
    663
    Par défaut
    Bonjour!

    ça fait des plombes que je me prend la tête avec IE7... J'aimerais savoir si le problème est également le même chez vous.

    J'arrive sur le site exemple, je me log, je fait F5 = ERREUR 403 ou page blanche

    Après avoir cherché pendant des heures, j'ai trouvé que ça venait du plugin de session qui vérifie l'identité du navigateur.

    page 211 :
    Nous enregistrons dans la session, en fin de requête, la trace du naviga-
    teur client, à savoir sa signature (user_agent) et son en-tête accept. Puis,
    en début de requête suivante, nous vérifions si la session contient bien les
    mêmes données.

    Ben avec IE7 ça marche pas tout à fait bien chez moi et je n'arrive pas trop à savoir pourquoi! Avec firefox pas de problèmes (jamais de problèmes avec firefox de toute façon! lol)
    Les idiots sont ceux qui ne posent jamais de question!

  15. #15
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    juin 2005
    Messages
    5 406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : juin 2005
    Messages : 5 406
    Points : 12 401
    Points
    12 401
    Par défaut
    Pour info, un lecteur à mis l'application en ligne, si vous voulez faire vos tests avec vos navigateur n'hésitez pas.

    L'application est ici

    Et voici une petite bafouille sur son blog

  16. #16
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    mars 2009
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : mars 2009
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Bonjour,


    je me rend compte que j'évite l'évident, mais comment ??
    j'ai suivi depuis plusieurs jours les tutos et installation, anglais francais et les traductions dans les demos ... lol
    La seule chose c'est que je veux pas commencer sans avoir un system .Donc je veux tester les propos, comme dojo. Seulement zend framework n'est pas une solution simple. j'arrive toujours pas à avoir une application en page.
    requice est tout ce qu'il marche. je vois pas....j'ai utiliser l'installation de phpunit, installation ok, mais la library zend c'est pas ...tout d'abord à penser que c'est dans php,puis dans le dossier pear, en faite à la racine...c'est un monde,le bout du monde. après include_path , une deux variable d'environnement? et dans php.ini c'est path directory puisque la page est pleine comme meme! enfin bref zend frame, il y en a toujours pas la couleur.
    je fais comment lorsqu'il me dit
    Warning: require_once(PHPUnit/Framework.php) [function.require-once]: failed to open stream: No such file or directory in ,

    c'est nouveau aussi, il n'y plus de zend.php dans les nouvelles versions, et framework.php n'ont plus, il n'existe pas ce fichier, apres bon quoi , j'essaye sur un serveur en ligne peu etre

  17. #17
    Membre averti
    Profil pro
    Inscrit en
    avril 2007
    Messages
    320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : avril 2007
    Messages : 320
    Points : 309
    Points
    309
    Par défaut
    Bonjour,

    J'ai acheté ce bouquin il y a deux semaines, mais je n'ai pas encore eu bien le temps de me plonger à fond dedans.

    Je veux rationaliser ma façon de travailler car au boulot j'ai toujours des demandes avec des délais ultra-serrés, et la quasi-obligation de réutiliser le code déjà développé, même si il n'a pas été conçu pour ça au départ.

    J'ai donc décidé d'utiliser ZF et Dojo, et si possible conjointement avec un vrai IDE comme Eclipse pour ZendStudio (mais j'aurai pas le budget pour l'acheter), ou PDT (je travaille actuellement avec Komodo Edit 5.0).

    J'ai commencé le livre par les annexes. Je sais, ça paraît con, mais ça ne l'est pas tant que ça, car elles récapitulent bien certaines démarches, comme la POO et le MVC pattern.
    Je conseille à tous ceux qui débutent dans l'utilisation du Zend Framework, ou la POO, de lire ce livre en commençant par la fin.

    Par exemple, l'annexe sur la POO est bien plus explicite que nombre de livres sur le sujet, je trouve.

    Celle sur les tests unitaires est également très bien faite, j'ai enfin compris ce que recouvrait l'expression "Ecrire des tests" :p

    Si le reste du livre est à l'avenant des annexes (et ça a l'air d'être le cas), je vais me régaler !
    *.Har(d)t
    ---
    "Je donnerais mon bras droit pour être ambidextre"
    Brian W. Kernighan

  18. #18
    Membre actif
    Profil pro
    Inscrit en
    avril 2009
    Messages
    154
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : avril 2009
    Messages : 154
    Points : 233
    Points
    233
    Par défaut application-exemple_1-0-1.tar.gz est HS
    bonjour les gens,

    Outre le fait que le bouquin est trés bien fait, le tarball des sources de l'application-exemple est HS sur le site http://www.zfbook.fr/, et comme je ne sais pas trop auprés de qui (julien pauli?) et encore moins comment remonter l'info...

    si qqn en avait une version, je suis preneur

    http://www.zfbook.fr/application-exemple_1-0-1.tar.gz <= hs

  19. #19
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    juin 2005
    Messages
    5 406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : juin 2005
    Messages : 5 406
    Points : 12 401
    Points
    12 401
    Par défaut
    Bonjour, en cliquant sur ton lien , j'obtient bien les sources

  20. #20
    Membre actif
    Profil pro
    Inscrit en
    avril 2009
    Messages
    154
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : avril 2009
    Messages : 154
    Points : 233
    Points
    233
    Par défaut
    bah moi aussi !

    mais le tarball semble corrompu, tu arrive à l'ouvrir et visualiser le contenu?

    ps: merci en tous cas de ne pas me laisser seul

Discussions similaires

  1. Réponses: 8
    Dernier message: 14/01/2015, 17h56
  2. [5.3] Zend Framework et les namespaces PHP
    Par Yogui dans le forum Zend Framework
    Réponses: 0
    Dernier message: 06/08/2008, 00h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo