Fragen zu PHP-Syntax

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Fragen zu PHP-Syntax

    Hallo zusammen,

    ich suche Erklärungen zu zwei Syntaxen in PHP, in Symfony automatisch mit angelegt werden oder in Tutorial-Videos als gegeben auftauchen. Ich finde dazu aber nichts Erklärendes in meiner Literatur.

    Beispiel 1
    PHP-Code:
     public function anlegen(ManagerRegistry $doctrineRequest $request): Response  {
    ...
      
    //Response  
    return $this->render('services/create.html.twig', [  'createForm' => $form->createView()  ]);

    }
    ​ 
    Warum legt Symfony bei der Funktion zusätzlich ein ": Response" an? Was bedeuten der Doppelpunkt?

    Beispiel2
    PHP-Code:
     $form $this->createForm(FormConfigType::class, $config);
    ​ 
    Oder hier: Was bedeuten zwei Doppelpunkte und warum muss ich hier "class" mitgeben und anzeigen. dass es sich um eine Klasse handelt? Unter "use" oben in der PHP-Datei wird die Klasse doch bereits zur Verfügung gestellt.

    Ich würde mich über euer Feedback freuen. Hilfreich wären auch die Fachbegriffe, um die Zusammenhänge in der Literatur wieder zu finden.

    Viele Grüße

    BrotherJ

  • #2
    zu 1)
    Hier geht es um Typensicherheit. Das : Response sagt nichts anderes, als dass der zurückgegebene Wert in jedem Fall vom Typ Response ist.
    Andere Klassen und Methoden verlassen sich darauf und können so im Verlauf attribute und methoden eines Response Onjekts im Code verwenden, ohne die konkrete Instanz zu kennen.

    ​​​​​zu 2)

    class ist in diesem Fall ein statisches Attribut der Klasse FormConfigType.
    Dieses besondere Attribut "class" existiert automatisch für jede Klasse, und gibt den vollständig qualifizierten Klassennamen zurück

    Es trifft keine Aussage darüber, dass FormConfigType selbst eine Klasse ist, sondern nennt konkret den klassennamen von FormConfigType.

    ​​​​​​Vermutlich akzeptiert CreateForm eine Elternklasse, benötigt aber intern eine Information darüber, welche abgeleitete Klasse genau übergeben wurde, um einer "Sonderlocke" gerecht zu werden.

    ​​​​​


    ​​​​

    ​​​​​

    Kommentar


    • #3
      Dankeschön, deine Erklärungen lassen mich Beides schon einmal besser nachvollziehen. Bei 2) hatte ich mittlerweile etwas zu Namensräumen gefunden, das in etwa in deine Richtung geht. Du hast das aber besser erklärt.

      Kommentar

      Lädt...
      X