include('./code.php');
如何工作?我知道它相当于让代码“直接粘贴”在发生包含的位置,但是,例如:在PHP中,include()如何正确工作?
如果我有两个页面,即page1.php
和page2.php
,其中我需要操作不同的变量和函数./code.php
,是否include()
创建./code.php
的副本,还是它实质上链接回到实际页面./code.php
?
include('./code.php');
如何工作?我知道它相当于让代码“直接粘贴”在发生包含的位置,但是,例如:在PHP中,include()如何正确工作?
如果我有两个页面,即page1.php
和page2.php
,其中我需要操作不同的变量和函数./code.php
,是否include()
创建./code.php
的副本,还是它实质上链接回到实际页面./code.php
?
如果您include
是一个文本文件,它将在文档中显示为文本。
include
确实不的行为像复制粘贴:
test.php的
<?php
echo '**';
$test = 'test';
include 'test.txt';
echo '**';
?>
的test.txt
echo $test;
以上将输出例如:
**echo $test;**
如果你要包括PHP文件,你还需要有PHP代码<?php
和?>
。
而且,通常括号不include
后说,像这样的:
include 'test.php';
在你的例子中,它的行为完全像复制和粘贴。 –
@保罗 - 不,它没有。如果它的行为像复制和粘贴,结果会是这样的:'** test **'。 –
不,它是一个.txt文件。改变扩展名.php,看看会发生什么。 –
include('./code.php'); // The Same As Pasting The Code From Code.PHP.
在任何情况下它都不会重定向到Code.php。
基本上,在翻译时击中include 'foo.php';
声明,它会打开指定的文件,读取它的所有内容,取代了“有”与来自其他文件以及将码位继续解释:
<?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,那么您将可以访问它的变量,并且它只会“复制和粘贴”(仅用于使它更容易理解,因为实际上那动力学如上所述)的文件中但是如果您链接,如:
[code.php]
include('page1.php');
include('page2.php');
然后code.php将有机会获得所有的变量内page1.php中,但是:
所以为了inherit
code.php的funcitonality inot都page1.php
和page2.php
一定要像做:
[page1.php]
include('code.php');
[page2.php]
include('code.php');
然后,它会按预期工作。所以只需要记住那里。
我不确定我是否按照你的要求提问,但是你在问题开始时所说的内容是准确的。它基本上粘贴代码 –
这里的一些解释http://php.net/manual/en/function.include.php – user710502