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

Symfony PHP Discussion :

question pour un debutant de symfony [1.x]


Sujet :

Symfony PHP

  1. #21
    Membre éprouvé

    Profil pro
    Inscrit en
    Août 2008
    Messages
    1 222
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 1 222
    Par défaut
    merci pour ce lien ,
    d'apès ce script:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <?php
    class sfConfig
    {
      protected static
      $config=array()
      public static function get($name, default=null)
       {
            return isset(self::$config[$name]) ? self ::config[$name] :defaut;
       }
     
    }
    est ce que mon résonnement est bon?

    lorsque j'appelle la method static sfConfig
    en faisant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    sfConfig::get('app_active_days')
    je demande que symfony me test cette donnée qui est le nombre de date limite souhaiter,

    app_active_days est donc envoyer a cette class qui s'appelle sfConfig

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <?php
    class sfConfig
    {
      protected static
      $config=array()
      public static function get($name, default=null)
       {
            return isset(self::$config[$name]) ? self ::config[$name] :defaut;
       }
     
    }
    "app_active_days " cela correspond a $name ,
    si $name existe on renvoie telquel, si $name n'existe pas on dit que $config sera null,
    cela veut dire que on pour cette annonce on n'a pas fixer le nombre de jour limite? (donc jobeet va afficher tout les jobs ?)

    cette class est uniquement la pour vérifier si l'on a administrer le nombre de jours d'affichage des jobs?

  2. #22
    Invité
    Invité(e)
    Par défaut
    Tu as pu remarqué quand dans symfony la gestion des fichiers de configuration est relativement complexe.

    Cette classe permet entre autre de récupérer facilement les valeurs de tes fichiers de configuration, qui auront au préalable été parsés par d'autres classes et enregistrés dans protected static $config=array().

    Quand tu écris : sfConfig::get('app_active_days'), tu demande à symfony de te retourner une valeur définie dans ton fichier app.yml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    all: # ( ou autre chose )
      active_days:           30
    Pour éviter les erreurs php, un petit mécanisme a été rajouté. Si celle clé n'existe pas, alors la fonction get va retourner null. Tu peux aussi utiliser la fonction get avec un second argument qui sera la valeur par défaut si la clé n'existe pas.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $nb = sfConfig::get('app_active_days', 5);
    cette class est uniquement la pour vérifier si l'on a administrer le nombre de jours d'affichage des jobs?
    Uniquement, non, mais elle offre bien cette fonctionnalité.

  3. #23
    Membre éprouvé

    Profil pro
    Inscrit en
    Août 2008
    Messages
    1 222
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 1 222
    Par défaut
    merci pour cette explication

    j'avais strappé un code que j'ai du mal a saisir:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    class JobeetJob extends BaseJobeetJob
    {
      public function __toString()
      {
        return sprintf('%s at %s (%s)', $this->getPosition(), $this->getCompany(), $this->getLocation());
      }
    }
    que fait cette class? j'ai regarder le doc de __toString() mais je n'ai toujour pas saisie ,
    on remplace les 3 "%" par "position" + "compagny" + "location" ??

  4. #24
    Invité
    Invité(e)
    Par défaut
    La méthode toString détermine comment la classe doit réagir lorsqu'elle est convertie en chaîne de caractères.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $jobeetJob = new JobeetJob();
    $jobeetJob->setPosition("Lorem");
    $jobeetJob->setCompany("Ipsum");
    $jobeetJob->setLocation("Dolor");
    echo $jobeetJob; // va en fait réaliser echo $jobeetJob->__toString();
    // Résultat >> Lorem at Ipsum (Dolor)
    Ils ont dans cette exemple utilisés la fonction sprintf (que les développeurs c apprécient particulièrement). On aurait aussi pu écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return $this->getPosition().' at '.$this->getCompany().' ('.$this->getLocation().')';
    Autre info : pour chaque élément de ton modèle, doctrine va générer 2 classes :
    MonModele.class.php
    et base/MonModeleBase.class.php
    ( et un troisième fichier MonModeleTable.class.php, mais c'est autre chose )

    Il est interdit de modifier le fichier Base, car celui-ci sera remplacé par doctrine lors d'une modification du schema.
    Il faut donc apporter toutes ses modifications sur le fichier MonModele ( qui hérite de MonModeleBase ), qui ne sera jamais altéré par Doctrine.

    Il est fortement conseillé de renseigner (lorsque c'est possibe et utile) la méthode toString pour chacun des éléments de ton modèle. En général, on retourne simplement le Titre, le Libelle, le Nom, le Code, etc ... le champs qui représente une description textuelle succincte de l'élément. ( Il pourra être utilisé pour générer automatiquement un <select> qui contiendra cette description plutôt que des ID incompréhensible notamment ).
    Dernière modification par Sendusha ; 12/05/2011 à 14h44.

  5. #25
    Membre éprouvé

    Profil pro
    Inscrit en
    Août 2008
    Messages
    1 222
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 1 222
    Par défaut
    une autre question

    je suis toujour bloqué au jour 6
    le but de la manip est d'afficher à la page d'accueil les 10 premier jobs des chaques categorie,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    // lib/model/doctrine/JobeetCategory.class.php
    public function getActiveJobs($max = 10)
    {
      $q = Doctrine_Query::create()
        ->from('JobeetJob j')
        ->where('j.category_id = ?', $this->getId())
        ->limit($max);
     
      return Doctrine_Core::getTable('JobeetJob')->getActiveJobs($q);
    }
    j'ai donc changer dans la vue de la page d'accueil la boucle qui recherche les différents catégorie d'emplois

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <!-- apps/frontend/modules/job/templates/indexSuccess.php -->
    <?php foreach ($category->getActiveJobs(sfConfig::get('app_max_jobs_on_homepage')) as $i => $job): ?>
    j'ai ajouter le nombre de job a afficher dans app.yml

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    all:
      active_days:          30
      max_jobs_on_homepage: 10

    j'ai editer le fichier job.yml qui consite a crée des jobs
    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
     
    # Démarrez au début de la ligne (pas d'espace avant)
    <?php for ($i = 100; $i <= 130; $i++): ?>
      job_<?php echo $i ?>:
        JobeetCategory: programming
        company:      Company <?php echo $i."\n" ?>
        position:     Web Developer
        location:     Paris, France
        description:  Lorem ipsum dolor sit amet, consectetur adipisicing elit.
        how_to_apply: |
          Send your resume to lorem.ipsum [at] company_<?php echo $i ?>.sit
        is_public:    true
        is_activated: true
        token:        job_<?php echo $i."\n" ?>
        email:        job@example.com
     
    <?php endfor ?>
    symfony a bien crée des emplois de différent categorie, je suis aller voir dans phpmyadmin

    la je teste la page d'accueil est j'ai un exception
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    500 | Internal Server Error | Doctrine_Query_Exception
    Cannot define NULL as part of query when defining 'limit'.
    je suis aller voir le fichier log
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Error Doctrine_Query_Exception	Cannot define NULL as part of query when defining 'limit'.
    que veut dire cette erreur??
    qu'il n'a pas pris en compte la limite de job à afficher ??

  6. #26
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    L'erreur signifie que la valeur que tu injectes dans ->limit() est null.

    Il faut chercher par toi même, tu as tous sous la main, le code à taper, le code que tu as tapés et l'erreur que tu y as faite.

    Réfléchis au message, il te dis qu'il n'est pas possible d'avoir null comme limite.

    Regarde le code de ta fonction getActiveJobs, est-il possible que dans cette fonction tu envoies une valeur null à ta requête (par exemple une erreur dans le nom de la variable entre la déclaration et l'utilisation) ?

    Essaye de mettre, en début de ta fonction getActiveJobs un echo pour voir se qui entre dans ta variable.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public function getActiveJobs($max = 10)
    {
      echo ($max === null) ? 'nul !' : $max;die();
      $q = Doctrine_Query::create()
    Regarde le code qui appel ta fonction. Est-il possible qu'il mette un null plutôt qu'un nombre dans l'appel de la fonction ?

    L'erreur est très évidente, une simple lecture du code la fait sauter au visage tel un chien sur sa gamelle.

    Te la donner ne t'aiderais pas, mais si tu recherches sur les trois axes que je t'ai donné, tu trouveras.

  7. #27
    Membre éprouvé

    Profil pro
    Inscrit en
    Août 2008
    Messages
    1 222
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 1 222
    Par défaut
    merci de ta réponse mimi, tu a bien fait de ne pas me donner la réponses, sinon je ne comprend pas mon erreur et je n'avancerais, on progresse seulement si on reconnaît ses erreurs.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
        public function getActiveJobs(Doctrine_Query $q = null) {
            if (is_null($q)) {
                $q = Doctrine_Query::create()
                                ->from('JobeetJob j');
            }
     
            $q->andWhere('j.expires_at > ?', date('Y-m-d H:i:s', time()))
                    ->addOrderBy('j.expires_at DESC');
     
            return $q->execute();
        }
    j'ai oublié de donner a manger getActiveJobs donc (Doctrine_Query $q=null)
    donc symfony ne rentre pas dans la condition is_null .

    pour ce scipt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $now = $this->getCreatedAt() ? $this->getDateTimeObject('created_at')->format('U') : time();
    d'ou vient le u de format->('U')?
    je ne sais pas ou chercher la raison de ce U ?

    mis à part cette question, j'ai pu continuer au jour 7
    évidement rien ne fonctionne comme prévu, j'ai crée un lien des categories
    après avoir ajouter le module categorie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    php symfony generate:module frontend category qui s'est bien passé
    ensuite j'ai modifier schema.yml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    # config/doctrine/schema.yml
    JobeetCategory:
      actAs:
        Timestampable: ~
        Sluggable:
          fields: [name]
      columns:
        name:
          type: string(255)
          notnull:  true
    voici en entier mon schema.yml
    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
    47
    48
    49
    50
    51
    52
    53
     
    JobeetCategory:
      actAs:
        Timestampable: ~
        Sluggable:
          fields: [name]
      columns:
        name:
          type: string(255)
          notnull:  true
     
    JobeetJob:
      actAs: { Timestampable: ~ }
      columns:
        category_id:  { type: integer, notnull: true }
        type:         { type: string(255) }
        company:      { type: string(255), notnull: true }
        logo:         { type: string(255) }
        url:          { type: string(255) }
        position:     { type: string(255), notnull: true }
        location:     { type: string(255), notnull: true }
        description:  { type: string(4000), notnull: true }
        how_to_apply: { type: string(4000), notnull: true }
        token:        { type: string(255), notnull: true, unique: true }
        is_public:    { type: boolean, notnull: true, default: 1 }
        is_activated: { type: boolean, notnull: true, default: 0 }
        email:        { type: string(255), notnull: true }
        expires_at:   { type: timestamp, notnull: true }
      relations:
        JobeetCategory: { onDelete: CASCADE, local: category_id, foreign: id, foreignAlias: JobeetJobs }
     
    JobeetAffiliate:
      actAs: { Timestampable: ~ }
      columns:
        url:       { type: string(255), notnull: true }
        email:     { type: string(255), notnull: true, unique: true }
        token:     { type: string(255), notnull: true }
        is_active: { type: boolean, notnull: true, default: 0 }
      relations:
        JobeetCategories:
          class: JobeetCategory
          refClass: JobeetCategoryAffiliate
          local: affiliate_id
          foreign: category_id
          foreignAlias: JobeetAffiliates
     
    JobeetCategoryAffiliate:
      columns:
        category_id:  { type: integer, primary: true }
        affiliate_id: { type: integer, primary: true }
      relations:
        JobeetCategory:  { onDelete: CASCADE, local: category_id, foreign: id }
        JobeetAffiliate: { onDelete: CASCADE, local: affiliate_id, foreign: id }
    j'ai supprimer getSlug sur le modèle jobetCategory dont on n' en pas pas besion
    et avec la commande console, mis a jour la base de donnée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    php symfony doctrine:build --all --and-load --no-confirmation
    et la une erreur survient
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     Unable to parse string: Unable to parse line 1 (  job_100:).
    je ne comprend pas cette erreur ?? il y a une erreur de chaine de caractère dans
    ficture/schema.yml à la première ligne ? est le job_100 ???

  8. #28
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Première question sur 'U' ici, tu trouveras la réponse.

    Pour la deuxième question va jeter un oeil dans le seul fichier que tu n'as pas affiché, le fixture.yml. Tu n'y a pas de job_100 ? Non, pas directement, mais une boucle...

    Je ne sais pas, pour le coup, d'où vient l'erreur de parsing, mais le job_100, c'est là que tu le trouveras.

  9. #29
    Membre éprouvé

    Profil pro
    Inscrit en
    Août 2008
    Messages
    1 222
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 1 222
    Par défaut un os sur la fin du jour 7
    je ne savais pas que U était prédéfinit par php, je pensais qu'il sortait d'un script php

    j'ai recomencer et recomencer le jour 6, je suis arrivé , du coup je n'ai pas pu comprendre cette histoire de job_100, mais je souahite continuer, peut être que j'ai implémenter de function dans les fichier qu'il ne falllait pas vu qu'il se ressemble
    (jobeetcategory, jobeetcategorytable ...).

    je suis aller voir fixture.ylm
    il n'y a rien dedans
    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
     
    # # Populate this file with data to be loaded by your ORM's *:data-load task.
    # # You can create multiple files in this directory (i.e. 010_users.yml,
    # # 020_articles.yml, etc) which will be loaded in alphabetical order.
    # # 
    # # See documentation for your ORM's *:data-load task for more information.
    # 
    # User:
    #   fabien:
    #     username: fabien
    #     password: changeme
    #     name:     Fabien Potencier
    #     email:    fabien.potencier@symfony-project.com
    #   kris:
    #     username: Kris.Wallsmith
    #     password: changeme
    #     name:     Kris Wallsmith
    #     email:    kris.wallsmith@symfony-project.com
    je suis maintenant au jour 7 et j'y presque mais je bloque sur la fin
    il faut mettre en place la pagination
    voici ce qu'il dit
    http://www.symfony-project.org/jobee...Doctrine/fr/07
    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
    aintenant que nous avons défini la méthode getActiveJobsQuery(), nous pouvons refactoriser les autres méthodes du modèle JobeetCategory  qui l'utilise : [php] // lib/model/doctrine/JobeetCategory.class.php public function getActiveJobs($max = 10) { $q = $this->getActiveJobsQuery() ->limit($max);
    
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    123456789
     
     
      return $q->execute();
    }
     
    public function countActiveJobs()
    {
      return $this->getActiveJobsQuery()->count();
    }
    là je pense qu'il y a un problème d'affichage on voit la moitié script
    j'ai donc mis ceci
    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
     
    <?php
    // lib/model/doctrine/JobeetCategory.class.php
    class JobettCategory extends BaseJobeetCategory{
      public function getActiveJobs($max = 10)
      {
         $q = $this->getActiveJobsQuery() ->limit($max);
         return $q->execute();
      }
     
      public function countActiveJobs()
      {
        return $this->getActiveJobsQuery()->count();
      }
     
      public function getActiveJobsQuery()
      {
        $q = Doctrine_Query::create()
        ->from('JobeetJob j')
        ->where('j.category_id = ?', $this->getId());
     
      return Doctrine_Core::getTable('JobeetJob')->addActiveJobsQuery($q);
      }
    }
    puis j'ai modifier le template comme dit le tuto
    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
    47
    48
    49
    50
     
    <!-- apps/frontend/modules/category/templates/showSuccess.php -->
    <?php use_stylesheet('jobs.css') ?>
     
    <?php slot('title', sprintf('Jobs in the %s category', $category->getName())) ?>
     
    <div class="category">
      <div class="feed">
        <a href="">Feed</a>
      </div>
      <h1><?php echo $category ?></h1>
    </div>
     
    <?php include_partial('job/list', array('jobs' => $pager->getResults())) ?>
     
    <?php if ($pager->haveToPaginate()): ?>
      <div class="pagination">
        <a href="<?php echo url_for('category', $category) ?>?page=1">
          <img src="/images/first.png" alt="First page" title="First page" />
        </a>
     
        <a href="<?php echo url_for('category', $category) ?>?page=<?php echo $pager->getPreviousPage() ?>">
          <img src="/images/previous.png" alt="Previous page" title="Previous page" />
        </a>
     
        <?php foreach ($pager->getLinks() as $page): ?>
          <?php if ($page == $pager->getPage()): ?>
            <?php echo $page ?>
          <?php else: ?>
            <a href="<?php echo url_for('category', $category) ?>?page=<?php echo $page ?>"><?php echo $page ?></a>
          <?php endif; ?>
        <?php endforeach; ?>
     
        <a href="<?php echo url_for('category', $category) ?>?page=<?php echo $pager->getNextPage() ?>">
          <img src="/images/next.png" alt="Next page" title="Next page" />
        </a>
     
        <a href="<?php echo url_for('category', $category) ?>?page=<?php echo $pager->getLastPage() ?>">
          <img src="/images/last.png" alt="Last page" title="Last page" />
        </a>
      </div>
    <?php endif; ?>
     
    <div class="pagination_desc">
      <strong><?php echo count($pager) ?></strong> jobs in this category
     
      <?php if ($pager->haveToPaginate()): ?>
        - page <strong><?php echo $pager->getPage() ?>/<?php echo $pager->getLastPage() ?></strong>
      <?php endif; ?>
    </div>
    là je lance la page d'acceuil et j'ai une erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Fatal error: Cannot redeclare categoryActions::executeShow() in /sfprojects/jobeet/apps/frontend/modules/category/actions/actions.class.php on line 26 Fatal error: Class declarations may not be nested in /sfprojects/jobeet/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Event.php on line 34
    en ligne 26 j'ai un fonction execute show
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
        public function executeShow(sfWebRequest $request) {
            $this->category = $this->getRoute()->getObject();
     
            $this->pager = new sfDoctrinePager(
                            'JobeetJob',
                            sfConfig::get('app_max_jobs_on_category')
            );
            $this->pager->setQuery($this->category->getActiveJobsQuery());
            $this->pager->setPage($request->getParameter('page', 1));
            $this->pager->init();
        }
    comme cette petite erreur d'affichage m'a perturber, ai-je correctement contruit la class
    jobeetCategory.php ?

  10. #30
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Le fixture.yml est modifié dans le jour 3 et dans le jour 6.

    Pour le reste, tu as un des meilleurs tutoriel pour l'apprentissage d'un framework devant les yeux...

    Si tu passais la moitié du temps que tu passes à écrire (très bien d'ailleurs) tes messages tu trouverais les erreurs simplement en comparant ton code avec celui donné dans l'exemple.

    Relis ton chapitre. Fais des sauvegardes du projet (dans un zip) après chaque chapitre (testé)(profite du fait que tu apprends à écrire les tests en même temps) et éventuellement, reprend le chapitre au début, depuis ta sauvegarde précédente.

    Et relis ton code régulièrement.

    Tu as toutes les informations pour arriver à résoudre les problèmes du tutoriel dans le tutoriel, cherches à t'en servir avant de venir poster.

  11. #31
    Membre éprouvé

    Profil pro
    Inscrit en
    Août 2008
    Messages
    1 222
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 1 222
    Par défaut
    merci de tes conseils

    Par contre je n'ai pas vu a 3 ème jour et au 6 ème jour fixture.yml qu'il ajoutait quelque chose, peut être que je les ai loupées (data/fixtures/fixtures.yml).

    sauf pour le fichier:

    # apps/frontend/config/view.yml
    la au 3 ème jour
    et
    # data/fixtures/jobs.yml
    pour le 6 ème jour

    Chaques jour j'enregistre un zip pour revenire au cas ou je n'y arrive pas, en plus dans une journée je lis le tuto au moins 3 fois minimum, me je me rendais compte qu'il y a pas que les fichiers a sauvegarder mais aussi la base de donnée.

    pour ce qui est des scriptes je fait un copier coller (je sais que ce n'est pas bien) mais au moins j'en suis sur que ca fonctionne et ensuite une fois que jaurai passé tous les tuto, je recommence mais avec un projet a moi

  12. #32
    Membre éprouvé

    Profil pro
    Inscrit en
    Août 2008
    Messages
    1 222
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 1 222
    Par défaut quel est le plus récent le livre ou le site ??
    merci mimi68, j'ai trouver mon erreur en regardant le bouquin, j'ai oublié d'effacer excuteindex() qui était inutile car on a crée un partial

    une toute dernière question après je vais me débouiller a mieux chercher

    Quel sont les 2 les plus récent a suivre?
    le livre ou le site symfony

    au début et après il y a des petites nuances voici l'un d'entre eux
    la class jobbetCategory.class.php

    le site
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    // lib/model/doctrine/JobeetCategory.class.php
    public function countActiveJobs()
    {
      $q = Doctrine_Query::create()
        ->from('JobeetJob j')
        ->where('j.category_id = ?', $this->getId());
     
      return Doctrine_Core::getTable('JobeetJob')->countActiveJobs($q);
    }
    et la même celle du bouquin
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public function countActiveJobs()
    {
      $q = Doctrine_Query::create()
        ->from('JobeetJob j')
        ->where('j.category_id = ?', $this->getId());
      return Doctrine::getTable('JobeetJob')->countActiveJobs($q);
    }
    ici le _Core a disparut?

  13. #33
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Je ne sais pas quel version du livre tu utilises, il est évident que le site est le plus a jours.

    Généralement, j'achète le livre, pour le lire tranquille, puis je fais le code depuis le site... En plus, en achetant le livre, tu participes un peu au financement du projet.

    Les deux codes sont en fait identique, Doctrine est une classe enfant de Doctrine_Core. Le résultat sera donc identique. Et je suis incapable de définir quel est la meilleur solution, le résultat sera identique.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Réponses: 1
    Dernier message: 11/09/2014, 21h43
  2. 3 questions pour debutant apache
    Par donkeyquote dans le forum Apache
    Réponses: 1
    Dernier message: 07/09/2008, 16h25
  3. DEBUTANT - Quelques questions pour commencer
    Par spiritual dans le forum WinDev
    Réponses: 4
    Dernier message: 04/01/2008, 23h42
  4. Nouveau, présentation et question pour bien débuter
    Par chichicratsok dans le forum Applications et environnements graphiques
    Réponses: 2
    Dernier message: 19/03/2006, 17h11
  5. [MIB] Questions pour construire une mib
    Par fadoua dans le forum Développement
    Réponses: 4
    Dernier message: 11/03/2004, 10h47

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