您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

PHP的include、require的运行机制是什么?

2025/6/25 1:10:24发布19次查看
在学习zend的过程中看到这样的代码:
$config = new zend_config(require 'config.php');

自己也进行了一些尝试:
var_dump(require 'test.php')
1. 如果没有return语句,输出为:
int(1)

2. 如果return语句,输入为return的数据:
...

请问php的require、include的机制是什么?
ps:虽然下载了php的源码,但一时找不出头绪。
update
一个测试 test.php output.php
// output.phpoutput(require 'test.php');// or output(include 'test.php');function output($test) { var_dump($test);}

情形1
// test.php 1return 123;

// output 1int(123)

情形2
// test.php 2echo 123;

// output 2123int(1)

情形3
// test.php 3echo 123;die;

// output 3123

回复内容: 在学习zend的过程中看到这样的代码:
$config = new zend_config(require 'config.php');

自己也进行了一些尝试:
var_dump(require 'test.php')
1. 如果没有return语句,输出为:
int(1)

2. 如果return语句,输入为return的数据:
...

请问php的require、include的机制是什么?
ps:虽然下载了php的源码,但一时找不出头绪。
update
一个测试 test.php output.php
// output.phpoutput(require 'test.php');// or output(include 'test.php');function output($test) { var_dump($test);}

情形1
// test.php 1return 123;

// output 1int(123)

情形2
// test.php 2echo 123;

// output 2123int(1)

情形3
// test.php 3echo 123;die;

// output 3123

php官方给出的解释,require和include的区别在于,require遇到错误会抛出致命错误,而include只会抛warning
require() is identical to include() except upon failure it will also produce a fatal e_compile_error level error. in other words, it will halt the script whereas include() only emits a warning (e_warning) which allows the script to continue.
see the include() documentation for how this works.
他们的原理是:把被include的文件按照html去解析,然后把输出内容替代include语句的位置。
这里有 laruence 的一篇文章可以参考 http://www.laruence.com/2010/05/04/14...
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product