Hauptmenü

Untermenü

PHP - Grundlagen - Programmierstile - Normale Klammern

1. Warum was zu normalen Klammern sagen?

Die gehören doch normalerweise in eine Zeile, oder? Das war es dann doch, oder? Nein, nicht ganz. Es gibt Situationen, wo man von der üblichen Schreibweise abweichen sollte, und darum geht es hier. Dabei kommen zwei Situationen in Frage, komplexe Bedingungen und Arrays.

2. Bedingungen

... können manchmal ziemlich nerven, wenn sie gehäuft auftreten. Da wird der Code dann schon mal ziemlich lang und unübersichtlich. Aus Platzgründen verzichte ich hier einfach auf konkrete Beispiele. Ich denke aber, ihr wisst, was ich meine.


<?php
  //Schlimm
  if (bedingung_1 && bedingung_2 && bedingung_3 ...)
  
  // Schlimmer
  if ((bedingung_1 || bedingung_2) && (bedingung_3 || bedingung_4))
?>

So was kann ziemlich schnell überhand nehmen. Vor allem, wenn man dann die einzelnen Bedingungen noch aufdröseln muss. Daher hat sich vielfach eine deutlich übersichtlichere Schreibweise etabliert, an der ich euch teilhaben lassen möchte.


<?php
  if (
        ($dings != && $bumms == 2) && 
        ($blubb != && $blubber == 4) || 
        ($bla != || $schwall == 6)
      )
?>

Gut, auch hierzu gibt es wiederum verschieden Variationen, manche setzen die logischen Operatoren an das Ende einer Zeile, andere an den Anfang, und wo dann die geschweiften Klammern hingehören, weiß auch keiner so genau.


<?php
  // Variante 1
  if (
        // diverse Bedingungen
      ) {
        Anweisung
      }
  // Variante 2
  if (
        // diverse Bedingungen
     ) 
  {
    Anweisung
  }
  // Variante 3
  if (
        // diverse Bedingungen
      ) 
      {
        Anweisung
      }
?>

Nichtsdestotrotz sollte man bei komplexen Bedingungen auf diese Schreibweise zurückgreifen, da sie doch übersichtlicher ist.

3. Arrays

Dasselbe Prinzip kann man auch bei komplexeren Arrays anwenden, vor allem wenn man sie mit array erzeugt. Eine zusätzliche Verbesserung hierzu findet ihr im nächsten Abschnitt.


<?php
  $array = array (
                    'bla' => 'blubb',
                    'schwall' => 'laber',
                    'kraeh' => 'sülz'
                  );
?>

zurück zum vorherigen Abschnitt weiter zum nächsten Abschnitt