Lars: Aktiven Link trotz PHP include kennzeichnen

problematische Seite

Ein fröhliches Hallo in die Runde,

Vorne angefangen:Ich habe vor ca einem Jahr schonmal einen Thread gestartet und folgende Antwort erhalten → https://forum.selfhtml.org/self/2019/jan/26/php-mit-aria-current/1741640#m1741640

Und obwohl ich glaube, dass das funktioniert wäre mir wohler, wenn ich den Code verstanden hätte.

Ich würde mich also tierisch freuen, wenn jemand Lust und Langeweile hätte zu jeder Zeile einen knappen Kommentar zu verfassen. Insbesondere folgende Fragen sind noch offen:

  • $links = [ [ 'url' => '/alpha', 'title' => 'Alpha' ], [ 'url' => '/omega', 'title' => 'Omega' ], ]; warum werden 2 Variabeln (Alpha und Omega) deklariert? Und was bedeutet der Operator => ?

  • Vorrausgesetzt dass ich mit der Annahme dass "Alpha" und "Omega" symbolisch für alle Links stehen. Müsste ich dann die Seiten nicht absolut https://www... verlinken?

Gruß Lars

--
Programmieren ist ein bisschen wie ein Sprung aus einem Hochhaus - bei jeder Etape/Etage kann man sagen "soweit so gut". Bis man aufschlägt! :)
  1. problematische Seite

    Tach!

    `$links = [
    	[
    		'url' => '/alpha',
    		'title' => 'Alpha'
    	],
    	[
    		'url' => '/omega',
    		'title' => 'Omega'
    	],
    ];` 
    

    warum werden 2 Variabeln (Alpha und Omega) deklariert? Und was bedeutet der Operator => ?

    Das => ist Grundlagenwissen zu Arrays. Alpha und Omega sind keine Variablen sondern Werte, die den jeweiligen Schlüsseln url und title zugewiesen werden. Die Variablen sind also quasi url und title, aber auch nur quasi, weil sie keine eigenständigen sind, sondern Elemente in einem Array. Ein Element besteht aus einem Schlüssel und dem zugehörigen Wert.

    Die eigentliche Frage ist, warum das Array erstellt wurde. Wenn man viele Daten nach immer demselben Muster zu verarbeiten hat, wiederholt man nicht die Arbeitsanweisungen (den Code) sondern nur die Daten. Wenn der Code geändert/angepasst/korrigiert werden soll, hat man so nur eine Stelle zu berücksichtigen. Wenn neue Daten hinzukommen, sind diese einfacher zu ergänzen, als sich über Code-Kopieren noch mehr potentielle Stellen zum Pflegen ins Projekt zu holen. Hier wurde also ein Array mit den Menüpunkten angelegt, über das dann im weiteren Verlauf mit einer foreach-Schleife gelaufen wird, um die Menüpunkte auszugeben.

    • Vorrausgesetzt dass ich mit der Annahme dass "Alpha" und "Omega" symbolisch für alle Links stehen. Müsste ich dann die Seiten nicht absolut https://www... verlinken?

    Nur wenn die fertig zusammengebauten Links auf andere Domains verweisen.

    dedlfix.

    1. problematische Seite

      Guten Tag allerseits,

      `$links = [
      	[
      		'url' => '/alpha',
      		'title' => 'Alpha'
      	],
      	[
      		'url' => '/omega',
      		'title' => 'Omega'
      	],
      ];` 
      

      Da müsste ich dann aber ja trotzdem jeden Link einzeln hinterlegen richtig?

      Gruß Lars

      --
      Programmieren ist ein bisschen wie ein Sprung aus einem Hochhaus - bei jeder Etape/Etage kann man sagen "soweit so gut". Bis man aufschlägt! :)
      1. problematische Seite

        Hallo Lars,

        Da müsste ich dann aber ja trotzdem jeden Link einzeln hinterlegen richtig?

        Ja. Und das ist auch sinnvoll, denn jeder Link hat einen eigenen Titel und ein eigenes Linkziel. Ob es sinnvoll ist, die Navigation so abzubilden, hängt vom Anwendungsfall ab. Ich includiere gern meine Navigation als HTML.

        Bis demnächst
        Matthias

        --
        Pantoffeltierchen haben keine Hobbys.
        ¯\_(ツ)_/¯