+ Répondre à la discussion Actualité déjà publiée
Affichage des résultats 1 à 17 sur 17
  1. #1
    Responsable Développement Web


    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    juin 2008
    Messages
    22 562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juin 2008
    Messages : 22 562
    Points : 87 778
    Points
    87 778
    Billets dans le blog
    4

    Par défaut [ZF 2] Démarrer avec Zend Framework 2



    Philippe Peso vous propose une traduction de l'article anglophone Getting started with Zend Framework 2 (beta) : Démarrer avec Zend Framework 2.

    Ce tutoriel a été rédigé pour vous présenter Zend Framework 2 en créant une application basée sur une base de données basique et utilisant une conception Modèle-Vue-Contrôleur. Après la lecture de ce document, vous aurez une application ZF2 fonctionnelle et vous pourrez examiner le code pour en comprendre le fonctionnement et les mécanismes.
    N'hésitez pas à faire part de vos remarques et commentaires.

    Démarrer avec Zend Framework 2

    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  2. #2
    Membre Expert

    Homme Profil pro
    Ingénieur étude et développement
    Inscrit en
    février 2011
    Messages
    813
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur étude et développement
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : février 2011
    Messages : 813
    Points : 1 308
    Points
    1 308

    Par défaut

    Bonjour Bovino,
    J'ai déjà une remarque, que je vois trop souvent dans la plupart des tutoriels destinés à l'installation de framework.

    Vous devez également vous assurer qu'Apache est configuré pour supporter les fichiers .htaccess. Pour cela vous pouvez changer la directive


    en


    Il faut laisser en
    En passant à All, nous voyons trop souvant des surcharge au niveau de .htaccess et cela rends l'application de moins en moins maintenable.

    Certes ce n'est qu'un avis, mais voilà, pour moi c'est important

  3. #3
    Membre Expert
    Avatar de amoiraud
    Homme Profil pro
    Développeur Web
    Inscrit en
    octobre 2006
    Messages
    592
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : octobre 2006
    Messages : 592
    Points : 1 009
    Points
    1 009

    Par défaut

    Salut,

    Cool la traduction, par contre c'est sur la beta 4 et la beta 5 à chamboulé pas mal de choses (ajout du translate, modif du Zend Db, etc...), perso j'arrive toujours pas à utiliser des librairies externes, et mes view helpers ne fonctionnent plus depuis que je suis passé de la 4 à la 5, de plus la disparition de Zend\Locale fait planter tous mes validateur persos ^^

    En tout cas j'attend avec impatience la version RC (a la fin de l'été apparement) et j'espère que les tutos seront plus complet, en attendant celui de Rob Allen est déjà bien pratique, d'ailleurs pour ceux qui veulent tester la beta 5 : http://akrabat.com/wp-content/upload...ramework-2.pdf (en Anglais)

  4. #4
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    septembre 2011
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : septembre 2011
    Messages : 56
    Points : 54
    Points
    54

    Par défaut

    Citation Envoyé par 5h4rk Voir le message
    Il faut laisser en
    En passant à All, nous voyons trop souvant des surcharge au niveau de .htaccess et cela rends l'application de moins en moins maintenable.
    Que veux-tu dire par là ? Que le code devient moins facilement maintenable ?
    Donc tu passes le contenu original du .htaccess dans ton virtual host (si tu utilises apache) ?

  5. #5
    Membre Expert

    Homme Profil pro
    Ingénieur étude et développement
    Inscrit en
    février 2011
    Messages
    813
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur étude et développement
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : février 2011
    Messages : 813
    Points : 1 308
    Points
    1 308

    Par défaut

    Citation Envoyé par GATEN Voir le message
    Que veux-tu dire par là ? Que le code devient moins facilement maintenable ?
    Donc tu passes le contenu original du .htaccess dans ton virtual host (si tu utilises apache) ?
    Tout à fait.
    Par contre, pas le code mais l'application.
    Car cela offre la possibilité de mettre des surcharges apache un peu partout.

    Combien de fois j'ai vu des personnes avoir des problèmes avec ça.

  6. #6
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    septembre 2011
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : septembre 2011
    Messages : 56
    Points : 54
    Points
    54

    Par défaut

    Citation Envoyé par 5h4rk Voir le message
    Tout à fait.
    Par contre, pas le code mais l'application.
    Car cela offre la possibilité de mettre des surcharges apache un peu partout.

    Combien de fois j'ai vu des personnes avoir des problèmes avec ça.
    Merci de ton conseil, je viens de l'appliquer.
    C'est vrai que j'ai déjà passé des heures à déboguer à cause d'un .htaccess qui traînait et c'est extrêmement désagréable.

  7. #7
    Invité régulier
    Inscrit en
    avril 2011
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : avril 2011
    Messages : 11
    Points : 6
    Points
    6

    Par défaut Erreur

    Bonjour,

    Dans votre traduction, il y a une inversion :

    Dans la version originale de l'article, le code concernant le service_manager est bien présent dans global.php et non dans config/application.config.php comme mentionné dans votre traduction.

    Il faut donc corriger :
    config/autoload/global.php

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    <?php
    return array(
        'db' => array(
            'driver' => 'Pdo',
            'dsn' => 'mysql:host=...;dbname=...',
            'username' => '...',
            'password' => '...',
            'driver_options' => array(
                PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'
            ),
        ),
        'service_manager' => array(
            'factories' => array(
                'Zend\Db\Adapter\Adapter'
                        => 'Zend\Db\Adapter\AdapterServiceFactory',
            ),
        ),
    );
    config/application.config.php

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    <?php
    return array(
        'modules' => array(
            'Application',
            'Album',
        ),
        'module_listener_options' => array(
            'config_glob_paths'    => array(
                'config/autoload/{,*.}{global,local}.php',
            ),
            'module_paths' => array(
                './module',
                './vendor',
            ),
        ),
    );

    Sinon le code fonctionne bien sur un serveur OVH, offre perso, et zendframework2.

    Cordialement

  8. #8
    Membre Expert

    Homme Profil pro
    Ingénieur étude et développement
    Inscrit en
    février 2011
    Messages
    813
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur étude et développement
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : février 2011
    Messages : 813
    Points : 1 308
    Points
    1 308

    Par défaut

    Bonjour,
    Le tutoriel traduit ici concernait la beta 4 et c'est exactement ce qui était demandé dans le guide en anglais.
    Ce que tu évoques par contre est vrai pour la dernière version, mais je pense que la mise à jour aura lieu prochainement.

    Citation Envoyé par efreet_cs Voir le message
    Bonjour,

    Dans votre traduction, il y a une inversion :

    Dans la version originale de l'article, le code concernant le service_manager est bien présent dans global.php et non dans config/application.config.php comme mentionné dans votre traduction.

    Il faut donc corriger :
    config/autoload/global.php

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    <?php
    return array(
        'db' => array(
            'driver' => 'Pdo',
            'dsn' => 'mysql:host=...;dbname=...',
            'username' => '...',
            'password' => '...',
            'driver_options' => array(
                PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'
            ),
        ),
        'service_manager' => array(
            'factories' => array(
                'Zend\Db\Adapter\Adapter'
                        => 'Zend\Db\Adapter\AdapterServiceFactory',
            ),
        ),
    );
    config/application.config.php

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    <?php
    return array(
        'modules' => array(
            'Application',
            'Album',
        ),
        'module_listener_options' => array(
            'config_glob_paths'    => array(
                'config/autoload/{,*.}{global,local}.php',
            ),
            'module_paths' => array(
                './module',
                './vendor',
            ),
        ),
    );

    Sinon le code fonctionne bien sur un serveur OVH, offre perso, et zendframework2.

    Cordialement

  9. #9
    Membre du Club
    Inscrit en
    janvier 2010
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : janvier 2010
    Messages : 58
    Points : 51
    Points
    51

    Par défaut

    Salut,

    j'avais fait ce tuto avec succès il y'a quelques semaines. Je vois que certaines choses ont changé depuis. Je l'ai donc repris à 0 avec une fresh install de zf2 2.0.4.

    Or, au milieu du tuto, au premier affichage de la liste des albums j'ai cette erreur désormais :

    A 404 error occurred
    Page not found.

    The requested controller could not be mapped to an existing controller class.

    Controller:
    album(resolves to invalid controller class or alias: album)


    Petite erreur constatée aussi, dans l'arborescence conseillée du module, il manque un sous niveau je pense, il faudrait que cela soit :

    zf2-tutorial/
    ----/module
    --------/Album
    ------------/config
    ------------/src
    ------------/Album
    ---------------- /Controller
    ----------------/Form
    ----------------/Model

    ------------/view
    -------- /album

    enfin je crois...

    Merci d'avance.

  10. #10
    Expert Confirmé Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    mai 2002
    Messages
    2 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : mai 2002
    Messages : 2 348
    Points : 3 160
    Points
    3 160

    Par défaut

    Bonjour,

    Alors aujourd'hui, j'ai voulu tenté Zf2 mais comme je suis une bur.. en linux apache2 en co, je vous fais part de mon erreur ...

    J'ai suivi le tuto et tout va bien jusqu'au lancement du site avec l'url:
    'zf2-tutorial.localhost' j'ai bien l'affichage demandée.

    Par contre, et c là que je suis mauvais, je teste le routing en faisant:
    'zf2-tutorial.localhost/1234' et là deux affichages se montrent à moi (aléatoirement) soit j'ai:
    une page avec du html en <h1> donc que des gros caractères et deux erreurs
    (je vous donne le code source de la page)
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <h1>
    Notice: Use of undefined constant Zend\I18n\Translator\null - assumed 'Zend\I18n\Translator\null' in /home/fench/web/zf2-tutorial/vendor/zendframework/zendframework/library/Zend/I18n/Translator/Translator.php on line 561
     
    Call Stack: ...
    (dernier appel: 0.0359    1657400  19. Zend\I18n\Translator\Translator->loadMessages() /home/fench/web/zf2-tutorial/vendor/zendframework/zendframework/library/Zend/I18n/Translator/Translator.php:400)
     
    Fatal error: Call to a member function —†w—†w() on a non-object in /home/fench/web/zf2-tutorial/vendor/zendframework/zendframework/library/Zend/I18n/Translator/Translator.php on line 562
     
    Call Stack: ....
    (dernier appel: 0.0359    1657400  19. Zend\I18n\Translator\Translator->loadMessages() /home/fench/web/zf2-tutorial/vendor/zendframework/zendframework/library/Zend/I18n/Translator/Translator.php:400
    ou alors j'ai comme résultat le passage l'url 'zf2-tutorial.localhost/1234' a:
    'http://www.zf2-tutorial.localhost/1234' qui donne comme page 'adresse introuvable ...

    Voilà donc je galère un peu même beaucoup,

    Merci
    Meuuh en AI à l'INRA
    Domaines: {java, php, js, jquery}{hibernate, doctrine}{MyLib, symfony, Zend}
    fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)

  11. #11
    Membre du Club
    Inscrit en
    janvier 2010
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : janvier 2010
    Messages : 58
    Points : 51
    Points
    51

    Par défaut

    Citation Envoyé par htrouve Voir le message
    Salut,
    j'avais fait ce tuto avec succès il y'a quelques semaines. Je vois que certaines choses ont changé depuis.
    Au temps pour moi, j'avais fait le tuto original en anglais. Je l'ai refait, et tout fonctionne désormais. J'ai vu quelques différences, comme l'évocation de 'invokables' comme clé de tableau dans module.config.php et 2/3 autres trucs comme des noms de méthodes différents.

    Je ne saurais dire ce qui n'a pas fonctionné pour moi ici. Mais bon, c'est réglé de mon côté.

  12. #12
    Expert Confirmé Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    mai 2002
    Messages
    2 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : mai 2002
    Messages : 2 348
    Points : 3 160
    Points
    3 160

    Par défaut

    Le problème est résolu, attention à l'utilisation de 'Composer' lors de l'installation de la platform.

    En effet dans le fichier .json du module 'Composer', il y a la ligne
    "zendframework/zendframework": "2.*" dans la partie 'Required' pour la version Php et Zend2. Cette ligne entraîne l'acceptation de toutes les versions 2.* et, elle est donc suceptible d'installer une version non stable.

    Si telle est le cas, vous modifiez cette ligne avec une version stable comme la 2.0.0 (jusqu'à la 2.0.4 actuellement) puis les lignes de commandes suivantes:

    Code :
    1
    2
    3
     
    php composer.phar update
    php composer.phar install
    Meuuh en AI à l'INRA
    Domaines: {java, php, js, jquery}{hibernate, doctrine}{MyLib, symfony, Zend}
    fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)

  13. #13
    Invité de passage
    Profil pro
    Inscrit en
    juin 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : juin 2007
    Messages : 7
    Points : 1
    Points
    1

    Par défaut

    J'ai suivi le tutoriel (tel que disponible actuellement sur le site de Zend).
    Tout fonctionne bien ou presque (même si j'ai du corriger une paire de petites erreurs dans l'exemple).
    Par contre, autant le formulaire de modification d'album fonctionne bien, autant celui d'ajout d'album est sans effet.
    Quand je clique sur le bouton 'Add', il n'y a pas d'effet!

    Dans addAction()
    $request = $this->getRequest();
    if ($request->isPost()) {
    isPost() n'est jamais vraie...

    Je ne comprends ce qui peut mal se passer, car le formulaire est le même que dans le cas d'une modification d'album.

    J'ai manqué quelque chose? De quel côté puis-je chercher pour trouver une solution ?

    Précision : j'étais en version Framework 2.0.6 et je suis passé ensuite en 2.1.0...

  14. #14
    Futur Membre du Club
    Développeur informatique
    Inscrit en
    mai 2010
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 29

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : mai 2010
    Messages : 58
    Points : 15
    Points
    15

    Par défaut

    bonjour,

    J'ai suivi ce tutoriel pour mettre en place le framework.

    La première page s'affiche sans problèmes j'en suis à mettre le controlleur et les vues en place seulement voila j'ai comme soucis :


    A 404 error occurred
    Page not found.
    The requested controller could not be mapped to an existing controller class.

    Controller:
    album(resolves to invalid controller class or alias: album)
    No Exception available

    A priori il s'agit d'une erreur de routage, je n'arrive pas à atteindre mon controlleur.

    j'ai placé mon controlleur dans : module/Album/src/Album/Controller/AlbumController.php

    et mes vues dans : module/Album/view/album/album/index.phtml

    est ce un problème d'architecture ou dois je voir au niveau des déclarations de mon routage ???

  15. #15
    Invité de passage
    Homme Profil pro
    Inscrit en
    mars 2013
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : mars 2013
    Messages : 1
    Points : 1
    Points
    1

    Par défaut

    C'est un autres pb merci de voir ce lien : http://framework.zend.com/manual/2.0...ntrollers.html

  16. #16
    Invité régulier
    Inscrit en
    mai 2007
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : mai 2007
    Messages : 25
    Points : 9
    Points
    9

    Par défaut

    Bonjour,

    j'ai exactement le même problème que kawa67, ça me rassure un peu, je me sens moins seul...

    Mais du coup je me sens un peu désemparé devant le tuto que je pense avoir suivi correctement...

    Si quelqu'un pouvait donner une solution à ce problème, j'en serais très heureux.

    Merci d'avance.

  17. #17
    Invité de passage
    Homme Profil pro
    Développeur Java
    Inscrit en
    novembre 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : novembre 2008
    Messages : 3
    Points : 1
    Points
    1

    Par défaut

    Bonjour à tous,


    Effectivement le tuto n'est pas à jour avec les dernières versions de Zend, c'est un peu déroutant quand on voudrait débuter avec Zend 2.0.


    Pour pas vous prendre la tête, cloner le repo de la personne qui est à la base du travail, à l'adresse suivante : https://github.com/akrabat/zf2-tutorial-to-go

    Télécharger ou cloner le repo, suivre les 2 instructions d'installation, et c'est bon, le projet fonctionne. L'intérêt est de lire lire le tuto pour comprendre le code.

    Bonne lecture !

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •