[英]Does include_once for MySQL connection in 2 separate <?php ?> tags will connect only once?
在这种情况下,我使用:
<?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标签中包含include_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
?>
如果文件在同一请求/页面中,则无需重新添加文件。
同样,使用include_once
将阻止您包含已经包含的文件。
您可以自由地再次使用connect.php
先前包含的变量和连接
关闭PHP标记时,您不会关闭会话,并且所包含的代码将在您选择打开或关闭的所有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。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.