Как include('./code.php'); Работа? Я понимаю, что это эквивалентно тому, что код «вставлен» непосредственно там, где это происходит, но, например:
Если у меня есть две страницы, page1.php и page2.php , из которых мне нужно будет манипулировать различными переменными и функциями в ./code.php , include() создает копию ./code.php или делает это по существу ссылка на фактическую страницу ./code.php ?
См. Руководство .
Если вы include текстовый файл, он будет отображаться как текст в документе.
include не ведет себя как copy-paste:
test.php
<?php echo '**'; $test = 'test'; include 'test.txt'; echo '**'; ?>
test.txt
echo $test;
Вышеприведенный пример выводит:
**echo $test;**
Если вы собираетесь включать файлы PHP, вам все равно нужно иметь теги PHP <?php и ?> .
Кроме того, обычно круглые скобки не помещаются после include , например:
include 'test.php';
В основном, когда интерпретатор попадает в include 'foo.php'; , он открывает указанный файл, считывает все его содержимое, заменяет бит «include» кодом из другого файла и продолжает интерпретировать:
<?php echo "hello"; include('foo.php'); echo "world";в<?php echo "hello"; include('foo.php'); echo "world";
становится (теоретическим)
<?php echo "hello"; ?> {CONTENT OF foo.php} <?php echo "world";
Однако все это происходит только в памяти, а не на диске. Файлы не изменены или что-то еще.
Это зависит от того, как вы включаете файл code.php . Если вы включите файл code.php в page1.php, а затем page2.php, то у вас будет доступ к его варам, и он будет эффективно просто «копировать и вставлять» (beaware, который просто используется, чтобы упростить его понимание, поскольку фактическое динамика этого объясняется выше) файл, однако, если вы ссылаетесь как:
[code.php] include('page1.php'); include('page2.php');в[code.php] include('page1.php'); include('page2.php');
Тогда code.php будет иметь доступ ко всем переменным в файле page1.php, но:
Поэтому для того, чтобы inherit funcitonality of code.php, вы не должны делать как page1.php и page2.php что-то вроде:
[page1.php] include('code.php'); [page2.php] include('code.php');в[page1.php] include('code.php'); [page2.php] include('code.php');
Тогда он будет работать так, как вы ожидаете. Так что просто что-то запомнить.
include('./code.php'); // The Same As Pasting The Code From Code.PHP.
Он не будет перенаправлен на Code.php в любом случае.