2012-03-23 6 views
0

ValidateGatherType.phpAufruf an eine Elementfunktion xx() auf einem Nicht-Objekt (das ein Objekt tatsächlich ist)

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); 
} 

Fehler I Wenn Sie dies tun $ sammeln-> getGatherPlayers():

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

Soooooo, wtf (es ist gezwungen wie Gather, aber dann ist es kein Objekt mehr?)? Ich glaube, ich habe etwas vergessen, aber ich kann nichts finden. Der Controller-Code ist anders, aber da diese Zeile nicht funktioniert (auch wenn ich es benutze, wie ich es dir zeige) habe ich den Rest des Codes nicht geschrieben.

Danke für Ihre Hilfe.

Antwort

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

Die lokale Variable $gather ist hier nicht definiert. Sie meinen wahrscheinlich die Instanzeigenschaft $this->gather

+0

Thx Kerl, muss Fokus ^^ – copndz

Verwandte Themen