liebewinter: current_page hat keine wirkunge,,,

Beitrag lesen

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...☺️