Erste viel danke für deinen Bemüht ! , es ist "Einbissen" schwierig der code zu verstehen , aber habe versucht es zu "Übersetzen"... , bis jetzt habe nur ein Teil geschaft.. ist diesen…
#Hier baut ein Class , auf die Eigenschaften , $current_page und $arLinks werden die Sichtbarkeit private gegeben , so kann nur innerhalb dieser Klasse verändert werden.
class NavigationLinkList {
private $current_page;
private $arLinks;
#Mit dem Methode(Function) __constructor wird das Object erzeugt , Beispiel hier , $this -> addLinks ( $arNewLinks ); , wird das Object $arNewLinks erzeugt ....
public function __construct( $arNewLinks = false ) { #An der Eingenschaft $arNewLinks geben das Wert , false .
$this -> arLinks = [];
$this -> addLinks ( $arNewLinks );
$this -> current_page = $_SERVER['REQUEST_URI'];
}
#Bauen das Methode addLinks und geben die Eigenschaft als $arNewLinks .
public function addLinks ( $arNewLinks ) {
$flagErrors = false; #Baue die Eigenschaft $flagErrors und geben das Weet , false .
#An der Eigenschaft, $arNewLinks ,hast der Wert false gegeben , das bedeutet hier wird gefragt , wenn nicht....
if ( isset( $arNewLinks['URL'] ) && isset( $arNewLinks['TEXT'] ) ) { # Mit isset überprüft ob die Eigenschaften $arNewLinks und $arNewLinks mit den Werten URL und TEXT existieren...
array_push( $this -> arLinks, $arNewLinks ); #Mit array_push addieren die Eigenschaften arLinks und $arNewLinks an ende der array .
return true; #Rückkehr als wahr , das Ergebnis wird gezeigt .
}
}
if ( is_array ( $arNewLinks ) ) { #Überprüft ob eine Eigenschaft vom Typ array ist .
foreach ( $arNewLinks as $NewLink ) { #Mit dem Foreach-schleifen werden die Elemten des array zu iterieren .
if ( isset( $NewLink['URL'] ) && isset( $NewLink['TEXT'] ) ) { #wenn die Eigenschaften $NewLink und $NewLink sind....
array_push( $this -> arLinks, $NewLink ); # Adderieren die Eigenschaft $NewLink auf dem array...
}
}
} else {
$flagErrors = true; #was hier wird bekomme , habe ich keine Ahnung.....
}
return false == $flagErrors; #Wenn beiden möglichkeit (if, else) sind nicht , return false...
}
public function printNav() { #Mit diese function baut die Tabelle für die Links...
echo ' <nav class="link_wechsel">
<h2 class="visually-hidden">Page navigation</h2>
<ul>' . PHP_EOL;
foreach ( $this -> arLinks as $link ) { #Mit dem Schleifer geben an dem Object arLinks der name $link .
if ( $this -> current_page == $link['URL'] ) { #Wenn current_page gleich wie $link['URL'] , das ist , der Seite wo ich bin .
$aria = ' aria-current="page"'; #Auf der Eingenschaft $aria geben das Wert dem auf CSS stehe...
} else {
$aria = ''; #kommt nicht ...
}
echo ' <li><a' . $aria . ' href=' . $link['URL'] .'">' . $link['TEXT'] . '</a></li>' . PHP_EOL;#Warum echo ist nicht auf if ??
}
echo '
</ul>
</nav>' . PHP_EOL; #Geschlossen der nav...
}
}
Diese teil
array_push( $this -> arLinks, $arNewLinks );
habe ich nich gut verstande... wie auf dieser Link zeigt die array_push wird benutz um adderiert etwas auf einen array der bevor in einem andere array ausgefullt wurde....
Morgen versuche die andere teil dir zu schicken...☺️