2010-11-21 14 views
0

, wenn wir \ include erfordern eine Datei php wiePHP: include erfordern Verhalten

require ('links.php'); ODER include ('links.php');

die eine der beiden folgenden Szenarien

        Beispiel

geschehen unter Verwendung von

lässt sagen, es gibt Datei file.php mit dem fol lwing Code

<?php 
echo "my things"; 
?> 
<br /> 

und wir schließen diese in

------ 
------ 
<?php 
echo "about to include file"; 
include ('file.php') 
?> 
------ 
------ 

SZENARIO 1: der Code der Datei enthalten in den Eltern eingeführt wird \ Container-Dateien PHP-Code und dann wird der vollständige Code verarbeitet & HTML \ Ergebnis wird generiert ....

Bedeutung, zuerst dieser Code wird zuerst wie

setzen
------ 
------ 
<?php 
echo "about to include file"; 
<?php 
echo "my things"; 
?> 
<br /> 
?> 
------ 
------ 

verarbeitet dann

SZENARIO 2: die enthaltene Datei wird zuerst bearbeitet und das Ergebnis eingesteckt ist in

bedeutet zunächst die Include-Datei verarbeitet wird und das Ergebnis wird

erhalten werden
mythings<br/> 

und danach wird es in den übergeordneten \ container \ includer-Code platziert und dann wird dieser Code neaning

01 verarbeitet werden
------ 
------ 
<?php 
echo "about to include file"; 
my things<br /> 
?> 
------ 
------ 

und jetzt wird es

+0

Was ist Ihre Frage genau? Was ist das Problem? – Sarfraz

+0

ps SCENARIO 1 kann Syntaxfehler verursachen, SCENARIO 2 kann zu Variablenproblemen und vielen anderen logischen und bedingten Problemen führen – Moon

+0

'@ sarfraz:' Es gab kein Problem ... nur eine Erklärung, was darunter geht, wurde gewünscht – Moon

Antwort

4

Nun nah an Ihr Szenario kommen würde, dies vielleicht nicht am einfachsten nur mit dem „include“ Namen zu verstehen ...

Also - was passiert, wenn Sie

<?php 
echo "including now..."; 
include "myFile.php"; 
echo "blah"; 
?> 

dann wird es im Grunde wie folgt ausfallen:

<?php 
echo "including now..."; 

?> 
CONTENTS OF myFile.php HERE 
<?php 

echo "blah"; 
?> 

in Ihrem Beispiel Was bedeutet, dass es so aussehen würde:

<?php 
echo "about to include file"; 
?> 
<?php 
echo "my things"; 
?> 
<br /> 
<?php 
?> 
+0

Wenn es so wäre Einfach hätte ich [diese Frage] nicht schreiben müssen (http://stackoverflow.com/questions/7941373/processing-include-require-directives-in-php). Irgendwelche Ideen da? – Peter

1

verarbeitet werden Es ist Szenario ein. include ist ein einfacher Mechanismus, um Code in dieser Codezeile zu "injizieren".

Als historische Leckerbissen, vor PHP 4.1, include s verwendet, um auch verarbeitet werden, wenn die Anweisung in einem Block oder Zustand war, die nie ausgeführt wurde. Other than that, ist PHP nichts hat, die 2.

1

Es ist Szenario eins.

Beachten Sie auch, dass require nur einmal den Code eingibt! so:

<?php 
echo "about to include file"; 
require ('file.php'); 
require ('file.php'); 
require ('file.php'); 
echo "included the file"; 
?> 

nachgeben:

<?php 
echo "about to include file"; 
?><?php 
echo "my things"; 
?> 
<br /><? 
echo "included the file"; 
?> 

während:

<?php 
echo "about to include file"; 
include ('file.php'); 
include ('file.php'); 
include ('file.php'); 
echo "included the file"; 
?> 

nachgeben:

<?php 
echo "about to include file"; 
?><?php 
echo "my things"; 
?> 
<br /><?php 
echo "my things"; 
?> 
<br /><?php 
echo "my things"; 
?> 
<br /><?php 
echo "included the file"; 
?>