Require ja oder nein

Superior8881

Grünschnabel
Moin,

ist
PHP:
if ($var == 1) {
    require "include/hallo_welt.php";
}
eigentlich schneller, wenn $var wirklich 1 ist, als
PHP:
if ($var == 1) {
    echo „Hallo Welt!“;
}

Also angenommen, Hallo Welt! steht für richtigen Content.

Müsste doch eigentlich, oder?
Denn wenn $var gar nicht 1 ist, dann wird doch der ganze Content gar nicht required, oder?

Gruß und Danke für Eure Antworten

Markus
 

Loddar1

Erfahrenes Mitglied
Hi Superior8881,
Der Code ergibt so keinen Sinn!

require heisst erforderlich und wird zum Beispiel so:
Code:
if(file_exists("include/hallo_welt.php")==true){require "include/hallo_welt.php";}
genutzt.
Dein $var ist eine undefinierte variable,
was willst du damit erreichen?
 

Zvoni

Erfahrenes Mitglied
Hi Superior8881,
Der Code ergibt so keinen Sinn!

require heisst erforderlich und wird zum Beispiel so:
Code:
if(file_exists("include/hallo_welt.php")==true){require "include/hallo_welt.php";}
genutzt.
Dein $var ist eine undefinierte variable,
was willst du damit erreichen?
Offensichtlich will er den INHALT (!!) der Datei nur dann auslesen/ausführen/nutzen wenn $var==1 ist
Was soll daran unverständlich sein?
Ist normale bool'sche Logik
Vor allem wenn man berücksichtigt, dass "require" im Wesentlichen dem "include" entspricht --> PHP: require - Manual
 

Superior8881

Grünschnabel
Hallo,

ja genau, das war jetzt ja nur ein simples Beispiel um die Logik klar zu machen.

Macht es Sinn bei erfüllter Anweisung oder Bedinnung den eventuellen Code zu requiren bzw. includen?

Angenommen die Bedinnung wird zu 90% ja gar nicht erfüllt, dann würde ja auch immer der Code gar nicht abgearbeitet werden müssen, oder?

Gruß Markus
 

Sempervivum

Erfahrenes Mitglied
Das trifft natürlich zu, aber ich denke, die Auswirkungen in der Praxis kann man vernachlässigen. Das Ganze spielt sich ja auf dem Server ab auf der lokalen Festplatte oder möglicher Weise einem SSD.
 

Zvoni

Erfahrenes Mitglied
Da stimme ich semper zu.
Ich kenne das "include" aus anderen Programiersprachen (Pascal), insbesondere bei bedingter Kompilierung.
Dient dazu, Code der nicht gebraucht wird, auch nicht in die executable einzubinden.

Inwieweit das jetzt bei interpretierten Sprachen (im gegensatz zu kompilierten) Sinn ergibt, überlasse ich anderen
 

Superior8881

Grünschnabel
Okay, danke für Eure Antworten.

Das heißt, im Prinzip ist es schon richtig den Inhalt der Schleife zu includen, damit er, bei Bedarf, bzw. bei nicht Bedarf nicht eingebunden werden muss, aber messbare Performance werde ich damit nicht erreichen können?!

Gruß Markus
 

Sempervivum

Erfahrenes Mitglied
IMO sollte man den Gesichtspunkt der Übersichtlichkeit und Lesbarkeit nicht vernachlässigen. Bedingtes include oder require macht den Code unübersichtlicher und schwerer zu überblicken.