Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP包含在函数中_Php_Function_Include - Fatal编程技术网

PHP包含在函数中

PHP包含在函数中,php,function,include,Php,Function,Include,我正在修改一个大型的、写得有点糟糕(但不是很糟糕)的PHP网站,使用一个类来存储函数,这些函数可以编写带有参数的标准页面标题,以更改标题文本等内容。旧版本在每个文件中使用复制和粘贴的HTML头,如下所示: <div class="left"><?php include("left.php"); ?></div> 其中包含的文件既有非回显HTML,也有普通PHP。这些include似乎可以继续使用,但我不确定它们将如何工作,据我所知,包含的文件只是直接替换

我正在修改一个大型的、写得有点糟糕(但不是很糟糕)的PHP网站,使用一个类来存储函数,这些函数可以编写带有参数的标准页面标题,以更改标题文本等内容。旧版本在每个文件中使用复制和粘贴的HTML头,如下所示:

<div class="left"><?php include("left.php"); ?></div>

其中包含的文件既有非回显HTML,也有普通PHP。这些include似乎可以继续使用,但我不确定它们将如何工作,据我所知,包含的文件只是直接替换include()方法

最好是:
-重新写入包含的文件以回显所有标准HTML
-只要在适当的地方将这些文件的内容移动到我的新函数中(据我所知,它们不会在任何地方使用,除非它们将在我的新函数中使用)
-还有别的事吗


谢谢。

如果您没有真正解析变量之类的内容,那么编写PHP来回显所有HTML的效率就有点低了。尽管如此,我似乎无法摆脱自己动手的习惯

一个设计良好的页面将只在必要的地方使用PHP,我认为您当前的包含方法可能是您站点的最佳方法


如果站点的大部分内容突然变成动态生成的,那么这个问题可能值得重新探讨。

如果您没有真正解析变量之类的任何内容,那么编写PHP来回显所有HTML的效率会大大降低。尽管如此,我似乎无法摆脱自己动手的习惯

一个设计良好的页面将只在必要的地方使用PHP,我认为您当前的包含方法可能是您站点的最佳方法

如果网站的大部分内容突然变成动态生成的,那么这个问题可能值得重新探讨。

阅读:

如果include发生在调用文件中的函数中,那么被调用文件中包含的所有代码的行为都将与该函数中定义的代码相同。因此,它将遵循该函数的可变范围。此规则的一个例外是在include发生之前由解析器计算的神奇常量

当包含一个文件时,解析将在目标文件的开头退出PHP模式并进入HTML模式,然后在结尾再次恢复。因此,目标文件中应作为PHP代码执行的任何代码都必须包含在有效的PHP开始和结束标记中

PHP不像C/C++那样,只是复制并粘贴包含文件中的代码来替换include语句。因此,您不必担心包含的文件中的
标记会弄乱包含它的文件。

阅读:

如果include发生在调用文件中的函数中,那么被调用文件中包含的所有代码的行为都将与该函数中定义的代码相同。因此,它将遵循该函数的可变范围。此规则的一个例外是在include发生之前由解析器计算的神奇常量

当包含一个文件时,解析将在目标文件的开头退出PHP模式并进入HTML模式,然后在结尾再次恢复。因此,目标文件中应作为PHP代码执行的任何代码都必须包含在有效的PHP开始和结束标记中

PHP不像C/C++那样,只是复制并粘贴包含文件中的代码来替换include语句。因此,您不必担心包含的文件中的
标记会弄乱包含它的文件