Bonjour,

J’aurais besoin que mon serveur symfony renvois du json, j'ai fais le tutoriel Jobeet jusqu'au 15ème jour pour arriver a cette partie, ça fonctionne bien mais quand je veux le faire dans mon projet je suis complétement perdu...

Donc d'après ce que j'ai compris dans Jobeet il faut mettre une route dans le fichier routing.yml, ensuite créer un module api dans lequel on met la récupération de données dans le action.class.php et la conversion dans listSuccess.json.php (ou xml suivant se que l'on veut)

Sur mon projet j'ai mis voici mon routing.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
homepage:
  url:   /
  param: { module: bc, action: index }
 
default_index:
  url:   /:module
  param: { action: index }
 
default:
  url:   /:module/:action/ *
 
api_bcs:
  url:     /api/bcs.:sf_format
  class:   sfDoctrineRoute
  param:   { module: api, action: list }
  options: { model: NavibcBC, type: list, method: ???}
  requirements:
    sf_format: (?:xml|json)
Dans model le fichier NavibcBCTable.class.php

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
<?php
class NavibcBCTable extends Doctrine_Table
{
    public static function getInstance()
    {
        return Doctrine_Core::getTable('NavibcBC');
    }
}
Dans le paramètre method de routing.yml je dois mettre getInstance ?

Que dois-je mettre dans action.class.php dans la méthode executeList ?
Dans Jobeet j'avais :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
class apiActions extends sfActions
{
  public function executeList(sfWebRequest $request)
  {
    $this->jobs = array();
    foreach ($this->getRoute()->getObjects() as $job)
    {
      $this->jobs[$this->generateUrl('job_show_user', $job, true)] = $job->asArray($request->getHost());
    }
  }
}
mais je n'arrive pas a adapter...

Et dans listSuccess.json.php pareil

Complétement perdu... Est ce que quelqu'un pourrait m'éclairer ?
Et si c'est trop flou au moins me donner un exemple tout simple pour renvoyer du json depuis un serveur symfony.

Merci