返回require_once和一些文本会导致require_once失败

时间:2014-02-04 06:58:03

标签: php

// File that is run
echo require_once('required.php').'<br />';

// required.php
return 'Some text';

根据the PHP documentation,上述内容应输出Some text<br />。但是,会生成以下错误:

Warning: require_once(required.php<br />): failed to open stream: No such file or directory.

我发现我可以通过echo (require_once('required.php')).'<br />';来解决问题,但我仍然不确定为什么会这样。

有人可以解释为什么会出现这种错误吗?我忽略了一些明显的东西吗我正在使用PHP 5.5.8

1 个答案:

答案 0 :(得分:2)

Require_onceinclude,不是方法,而是语句(如PHP文档链接中所述),但允许使用备用方法语法(此处不作引用)。

这意味着,对于PHP:

include('file.php') === include 'file.php'

因此,如果您在include中添加一些字符串,它会在运行时将其附加到包含路径,如下所示:

include('file.php').'string' === include 'file.php'.'string'
=== include 'file.phpstring'