在这种情况下,我使用:
<?php
include_once 'connect.php'; # connect with MySQL database
# some PHP code
?>
<!-- some HTML code -->
<?php
# here PHP code wants to use MySQL connection opened before
?>
我什至应该在第二个 PHP 标记中包含_once 吗?
include_once 语句在脚本执行期间包含并评估指定的文件。这是一种类似于 include 语句的行为,唯一的区别是如果文件中的代码已经被包含,它将不会再次被包含。顾名思义,它将仅包含一次。
所以如果connect.php被包含一次就不会再被包含
例如
<?php
include(a.php) //it will include a.php
include(b.php) //it will include b.php
include(a.php) //it will include a.php again
?>
<?php
include_once(a.php) //it will include a.php
include_once(b.php) //it will include b.php
include_once(a.php) //does nothing
?>
如果文件在同一个请求/页面中,则不需要重新包含文件。
此外, usinginclude_once
将阻止您包含已包含的文件。
您可以再次使用之前包含的变量和连接connect.php
当您关闭 PHP 标记时,您不会关闭 Session,并且包含的代码将在您选择打开或关闭的所有 php 标记中保持可用。
例子
- index.php
- includes once connect.php
- includes once foo.php
- includes bar.php
- foo.php
- Contains scope from connect.php
- bar.php
- Contains scope from connect.php
- Contains scope from foo.php
include 和 include_once 之间的唯一区别是,如果您多次包含同一个文件,它仍然只会被包含一次。
示例包括
<?php
include ( 'connect.php' ); // Includes an evaluates code.
include ( 'connect.php' ); // Includes an evaluates code.
include ( 'connect.php' ); // Includes an evaluates code.
?>
示例 Include_once
<?php
include_once ( 'connect.php' ); // Includes an evaluates code.
include_once ( 'connect.php' ); // Does nothing.
include_once ( 'connect.php' ); // Does nothing.
?>
如果您的应用程序使用包含库的模块,这将非常有用。为了确保它不会多次包含同一个库,当它只需要一次时,请使用 include_once。