[linux-l] Bash_Script von Browser. Hilfe!

Olaf Radicke briefkasten at olaf-radicke.de
Mo Apr 1 09:08:58 CEST 2013


Hallo Peter"

> Peter Ross <Peter.Ross at bogen.in-berlin.de> hat am 31. März 2013 um 14:11
> geschrieben:
> On Fri, 29 Mar 2013, Olaf Radicke wrote:
>
> > Jetzt plage ich mich seid Wochen mit PHP/Symfony herum. Auf dem Papier
> > ist alles ganz toll. Man könnte den Eindruck bekommen, mit Symfony auch
> > in PHP vernünftig programmieren zu können. Praktisch sieht es aber so
> > aus, das die Fehlermeldungen immer föllig sinnfrei sind und nicht im
> > geringsten weiterhelfen. Wenn man die Fehlermeldungen mal bei Google
> > einkippt, bekommt man nur Unfug. Da bin ich aus der C++-Welt echt
> > anderes gewöhnt!!
>
> Zur Ehrenrettung von Symfony muss ich sagen, dass ich seit fast zwei
> Jahren Symfony 1.4 programmiere (eim Umstieg auf 2 wird dieses Jahr
> erfolgen).
>
> Die Fehlermeldungen waren fuer mich durchaus erhellend.

Ich habe aktuell diese:

<code>
FatalErrorException: Error: Class 'Peruschim\MainBundle\Controller\Controller'
not found in
/home/or/public_html/Symfony/src/Peruschim/MainBundle/Controller/NewCiteController.php
line 11

    in
/home/or/public_html/Symfony/src/Peruschim/MainBundle/Controller/NewCiteController.php
line 11
</code>


Es geht schon damit los, das eine unspezifische Exception geworffen wird
die nicht weiter hilft. Wahrscheinlich ist das  Exception-Handling in
in der Programmiersprache PHP noch so neu, das die meisten Libs das noch
nicht vernünftig einsetzen.

So, also er findet die Klasse nicht in der angegebenen Datei nicht. Wenn
es ein C++-Compiler wäre, würde ich auch gesagt bekommen, was er denn
gesucht hat. Nicht bei PHP/Symfony.

Mit dem Tool "console router:debug" bekomme ich auch nicht mehr Infos:

<code>
 or at augsburg:~/public_html/Symfony$ php app/console router:debug
PHP Fatal error:  Class 'Peruschim\MainBundle\Controller\Controller' not found
in
/home/or/public_html/Symfony/src/Peruschim/MainBundle/Controller/NewCiteController.php
on line 11

Fatal error: Class 'Peruschim\MainBundle\Controller\Controller' not found in
/home/or/public_html/Symfony/src/Peruschim/MainBundle/Controller/NewCiteController.php
on line 11
</code>

Und dann gibt es da noch ein witzigen Effekt: Wenn ich in dem Body der
Funktion "indexAction()" in der Klasse - die er zuvor nicht hat finden
können- ändere, bekomme ich eine andere Fehlermeldung, die - in meinen
Augen - nicht weniger stupfsinnig ist:

<code>
FatalErrorException: Parse: syntax error, unexpected '$form' (T_VARIABLE) in
/home/or/public_html/Symfony/src/Peruschim/MainBundle/Controller/NewCiteController.php
line 31

    in
/home/or/public_html/Symfony/src/Peruschim/MainBundle/Controller/NewCiteController.php
line 31
</code>

Man beachte zunächst die Exception: "FatalErrorException"! Das ist
nicht der Sinn von Exception, das man für alles die selbe Exception
verwendet. String dahinter deutet darauf hin, das der Parse die
Ausnahme geworfen hat. Nach meinem Verständnis hätte die Exception
z.B. "ParseException" heißen sollen.

Offenbar hat der Parser etwas bekommen, was er nicht erwartet hat.
Schön, der gcc hätte mir an der Stelle wieder gesagt, was er erwartet
hätte. Wenn ich jetzt diese Fehlermeldung in Google ein kippe, bekomme
keine verwertbaren Ergebnisse, weil die Fehlermeldung zu allgemein
ist.

Hier ist der Code der Bemängelt wird:
<code>
28        $quote = new Quote();
29        $quote->setQuoteText('Das ist ein Zitat!')
30
31        $form = $this->createFormBuilder($quote)
32            ->add('quote', 'text')
33            ->getForm();
34
35        return $this->render(
36            'PeruschimMainBundle:Default:newcite.html.twig',
37            array('form' => $form->createView(),
38            )
39        );
</code>

Dann dachte ich mir, schaust du die mal die API-Doku der Klasse
an:
http://api.symfony.com/2.0/Symfony/Bundle/FrameworkBundle/Controller/Controller.html#method_createFormBuilder

...Toll, wenn ich mir den Quellcode angesehen hätte, hätte ich
auch nicht weniger gesehen.

PHP und auch Symfony sind ja ungemein populär. Ich weiß nicht
warum, aber offenbar bin ich einfach zu dumm, um da mit irgend wa
auf die Reihe zu bekommen.


Viele Grüße

Olaf



Mehr Informationen über die Mailingliste linux-l