2016-06-30 7 views
3

Я совершенно новый на Symfony, поэтому я пошел за учебником, и теперь я ищу ответ на свою проблему.Ошибка 101 при вызове службы

Я создал сервис. Но когда я называю это в своем контроллере, Chrome говорит: ERR_CONNECTION_RESET. Когда я удаляю строку, которая ее вызывает, она работает без каких-либо проблем.

Вот мой код в контроллере:

<?php 

namespace CoreBundle\Controller; 

use Symfony\Bundle\FrameworkBundle\Controller\Controller; 
use Symfony\Component\HttpFoundation\Request; 
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; 

class DefaultController extends Controller { 

    public function indexAction() { 
     $listAdverts = $this->$container->get('databaseinfos.listannonces'); /*DOES NOT WORK*/ 
return $this->render('CoreBundle:Default:index.html.twig',array('listAdverts'=>$listAdv‌​erts)); 
    } 

} 

код моего файла services.yml:

services: 
    databaseinfos.listannonces: 
     class: CoreBundle\DatabaseInfos 

И код моей службы:

<?php 

    namespace CoreBundle\DatabaseInfos; 

    class DatabaseInfos 
    { 
     public function getList(){ 
      // Notre liste d'annonce en dur 
      $listAdverts = array(
      array(
      'title' => 'Recherche développpeur Symfony', 
      'id'  => 1, 
      'author' => 'Alexandre', 
      'content' => 'Nous recherchons un développeur Symfony débutant sur Lyon. Blabla…', 
      'date' => new \Datetime()), 
      array(
      'title' => 'Mission de webmaster', 
      'id'  => 2, 
      'author' => 'Hugo', 
      'content' => 'Nous recherchons un webmaster capable de maintenir notre site internet. Blabla…', 
      'date' => new \Datetime()), 
      array(
      'title' => 'Offre de stage webdesigner', 
      'id'  => 3, 
      'author' => 'Mathieu', 
      'content' => 'Nous proposons un poste pour webdesigner. Blabla…', 
      'date' => new \Datetime()) 
      ); 

      return $listAdverts; 
     } 
    } 

Здесь шаблон называется контроллером:

{% extends "CoreBundle::layout.html.twig" %} 

{% block title %} 
    Accueil principale - {{ parent() }} 
{% endblock %} 

{% block body %} 

<h1>Page d'accueil du super site d'annonces !</h1> 
<ul> 
    {% for advert in listAdverts %} 
     <li> 
     <a href="{{ path('oc_platform_view', {'id': advert.id}) }}"> 
      {{ advert.title }} 
     </a> 
     par {{ advert.author }}, 
     le {{ advert.date|date('d/m/Y') }} 
     </li> 
    {% else %} 
     <li>Pas (encore !) d'annonces</li> 
    {% endfor %} 
    </ul> 

{% endblock %} 

Спасибо за ваше время и ответы! Иметь хороший день =)

+1

Ну, если вы выследили строку кода, которая вызывает проблемы, почему бы не поделиться им вместе с некоторый дополнительный код, который также поможет нам понять, что происходит? Мы здесь не психические. – apokryfos

+0

Добавил код в вопрос, спасибо ^^ –

+0

Это похоже, есть ли какие-либо переадресации в визуализированном шаблоне? Что-нибудь, что может привести к этому в бесконечном цикле? – apokryfos

ответ

1

я нашел, почему он не работает:

я объявил в своем services.yml:

services: 
    databaseinfos.listannonces: 
     class: CoreBundle\DatabaseInfos 

Но файл DatabaseInfos.php в CoreBundle/DatabaseInfos/DatabaseInfos.php

Так services.yml должен быть таким:

И команда, чтобы получить список (метод getList() класса в DatabaseInfos.php) является: $this->container->get('databaseinfos')->getList()

Смежные вопросы