我在website上使用了php,因此它可以显示多种语言。我注意到html文件的大小减少了,因为大部分文本被移动到一个新的大型php文件,其中包含所有可用语言的所有“惯用”文本(在我的情况下只有两个)。
我的问题是:以前只下载了一个包含必要文本的html页面。现在下载了一个较小的html页面,但是总是包含一个大的php文件,无论html使用更多或更少的行。
问题:
include_once(file.php);
或require_once(file.php);
)时会发生什么? file.php
的内容是否被复制到html?它只是用来对语言处理器说“如果你需要解析一个名字,你可能想看看file.php
”?P.S:有人试过PHP Speedy吗?它真的有用吗?它有任何问题(兼容性)吗?
我发现了:
答案 0 :(得分:4)
1)每个include / require语句都被包含/必需文件的内容替换。包含文件本身的内容正在成为执行脚本的一部分,但是如果它将成为HTML响应的一部分,则取决于内容本身。
2)除非你有大量的访问者,否则几乎不会注意到包含一个大文件和几个较小文件之间的区别。但是,它的优良做法是仅包含实际需要的部分,因为这样可以节省Web服务器内存和资源,这可能会在发生大量请求时出现问题。
3)包含代码的位置并不重要。出于纯粹的组织原因,最好在脚本开头包含所有内容,但有时这是不可能的,这意味着您经常会看到函数内部包含的代码等。
4)与纯HTML文件进行比较时,解析PHP文件会涉及一些延迟,因为该过程涉及到Web服务器扩展本身的“往返”,但是由于内部缓存机制等,延迟很难发现,如果不是几乎不可能在统计上证明。编辑:如果您担心自己的网站效果,那么可以选择一些Google Chrome扩展程序,例如Page Speed和Speed Tracer。它们将帮助您查明可能会降低网站性能的常见问题。
对于服务器端,总是很好地使用代码分析器来查找潜在的性能值,例如大量的函数调用等。为此,您可以使用xDebug PHP debugger,它带有一个出色的分析器和WebGrind分析表现本身。
答案 1 :(得分:2)
以前只下载了一个包含必要文本的html页面。 现在下载一个较小的html页面,但总是有一个大的php文件 包含,html是否使用更多或更少的行。
我不喜欢这种做法。为何加载不必要的东西此外,随着您的网站扩展,它可能会变成一个非常臃肿的文件。
还有其他方法,例如:
1)从数据库中获取文本。
2)根据语言将文本存储在单独的文件中。即使你是php的新手,你也可以轻松做到这一点。它应该比您当前的解决方案更快。
关于你的问题:
When a php file is included (include_once(file.php); or
require_once(file.php);)发生了什么?是的内容 file.php被复制到html?它只是习惯于说 语言处理器“如果您需要解析名称,您可能需要 看看file.php“?
当您包含或要求文件时(如果成功加载), 服务器将执行你在其中的任何代码。
对于更详细的答案,这是一个非常广泛的问题,请查看一些文献。
Should a php be included right before being used, or should be a
一般包含在页面顶部获取大部分PHP的内容 最终会在html页面上使用吗?
这两种方法都适用于不同的情况。有时你需要执行一些代码,因此包括在其他任何事情发生之前(在你的情况下,它可能是对应该使用哪种语言的识别)。其他时候你可能想要包含页脚,所以它只在底部的某个地方才有意义。
Finally, does php increase a page loading time?
取决于情况,你必须衡量自己。但是没有理由远离php。
答案 2 :(得分:0)
一切都取决于。按顺序,
include
时,PHP会在file.php
中执行所有操作,然后继续使用include
中的div#content {
color: #000;
}
。不,PHP Speedy负责缩小和合并您的JavaScript和CSS。缩小意味着:
div#content{color:#000;}
成为这个:
{{1}}
答案 3 :(得分:0)
是的,当您使用PHP时,请求需要更长时间,但较小的请求根本不会花费太多时间。从PHP到HTML,差异并不明显。
当您包含某些内容时,PHP会将其解析为好像是一个php文件(并且需要从每个包含的HDD中加载文件)。