Loop Function

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Loop Function

    Ich dachte ich geb mal meine Loop Function zum besten.
    Für Refresh-PHP-Seiten ein idealer Baustein.
    Das Ding ist wirklich "easy-code". Ich dachte mal für die, die vielleicht von den läßtigen IF anweisungen in Schleifen wegkommen wollen.

    voila:

    Quellcode

    1. function setIf($exp=bool, $setString, $setDefault="") {
    2. if($exp) return $setString; else return $setDefault;
    3. }


    sagen wir ich hab zwei nav Style Klassen :

    Quellcode

    1. a.nav { color:#ff0033; }
    2. a.nav_hot { color:#000; }


    ich baue nun mit einer schleife die navi und geb den _hot style dem navipunkt der aktiv ist.

    Quellcode

    1. $hot_i = 5; // Aktiver Menüpunkt
    2. while($i < 10)
    3. {
    4. echo "<a href=\"\" class=\"nav" . setIf($i==$hot_i, "_hot") . "\">" . $i++ . "</a>";
    5. }


    Hier wird nun die schleife 10mal durchgangen und beim Menüpunkt 5 (wenn der boolsche Wert erfüllt ist ) wird die class extension_hot gesetzt und markiert somit den aktiven Punkt.
    Das $setDefault="" Attribut muss nicht gesetzt werden, kann aber, und wird eben in den übrigend schleifendurchgängen ausgegeben.
    eigentlich logisch.
    Man spart sich somit ein haufen läßtiger Var-deklarationen.

    Viel Spass
    Tom
  • Re: Loop Function

    "Tom" schrieb:


    Quellcode

    1. $hot_i = 5; // Aktiver Menüpunkt
    2. while($i < 10)
    3. {
    4. echo "<a href=\"\" class=\"nav" . setIf($i==$hot_i, "_hot") . "\">" . $i++ . "</a>";
    5. }


    Ich sehe noch nicht ganz den Vorteil Deiner Funktion:

    Quellcode

    1. $hot_i = 5; // Aktiver Menüpunkt
    2. while($i < 10)
    3. {
    4. echo ('<a href="" class="nav'.(($i==$hot_i)?'_hot':'').'">'.$i++.'</a>');
    5. }


    Ist eigentlich auch nicht mehr zum Schreiben, oder übersehe ich da etwas?

    70abc
  • ich finde die funktion sehr vorteilhaft. man muss die echo-funktion nicht durch eine if-abfrage unterbrechen, sondern lagert das in eine weitere funktion aus, die innerhalb von echo ausgeführt wird.

    damit spart man sich zeilenumbrüche, einrückungen, ohne dass die übersichtlichkeit des codes darunter lastet.
  • "wulfgang" schrieb:

    ich finde die funktion sehr vorteilhaft. man muss die echo-funktion nicht durch eine if-abfrage unterbrechen, sondern lagert das in eine weitere funktion aus, die innerhalb von echo ausgeführt wird.

    damit spart man sich zeilenumbrüche, einrückungen, ohne dass die übersichtlichkeit des codes darunter lastet.


    Ob ich jetzt die [coderwiki]Informationen/Echo[/coderwiki]-Funktion durch eine if-Abfrage unterbreche, oder durch einen Funktionsaufruf, das macht doch keinen Unterschied.

    Zumal der Aufruf der Funktion kein einziges Zeichen Code spart, da ich ja den kompletten Vergleich an die Funktion übergeben muss.

    Man spart sich weder irgend welche [coderwiki]Informationen/Variable[/coderwiki]n, noch wird der Aufruf der Echo-Funktion in irgend einer Form kürzer. Im Grund stellt der Funktionsaufruf nur eine andere Schreibweise des Fragezeichen-Operators da.

    Das macht den Code nicht lesbarer und für eine Programmierkollegen trägt es auch nicht unbedingt zum leichteren Verständniss des Codes bei.

    70abc