Вызов функции-члена xx () для необъекта (который на самом деле является объектом) - PullRequest
0 голосов
/ 24 марта 2012

ValidateGatherType.php

namespace D2E\CoreBundle\Form;

use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilder;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;

class ValidateGatherType extends AbstractType
{
    private $gather;

    public function __construct(Gather $gather) 
    {
        $this->gather = $gather;
    }

    public function buildForm(FormBuilder $builder, array $options)
    {
        $gather_players = $gather->getGatherPlayers();
    }

}

GatherController.php

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
class GatherController extends Controller
{

/**
 * @Route("/teams/{id_team}/gather/{id_gather}")
 * @Template()
 */
public function showAction(Team $team, Gather $gather) 
{
    new ValidateGatherType($gather);
}

Ошибка, которую я получил при выполнении этого $ collect-> getGatherPlayers ():

Fatal error: Call to a member function getGatherPlayers() on a non-object

Таааааааааааааааааааааааааааааа (это принудительно, как Gather, но тогда это уже не объект?)? Я думаю, что забыл использование или что-то, но я не могу найти что. Код контроллера отличается, но так как эта строка не работает (даже если я использую ее, как я вам покажу), я не поместил оставшуюся часть кода.

Спасибо за помощь.

1 Ответ

2 голосов
/ 24 марта 2012
public function buildForm(FormBuilder $builder, array $options)
{
    $gather_players = $gather->getGatherPlayers();
}

Локальная переменная $gather здесь не определена.Вы, вероятно, имеете в виду свойство экземпляра $this->gather

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...