我有多个文件,我单独保存。我想将它们全部放在一个文件中以减少文件 I/O,并且只包含一个文件。
更新
最终使用了自动加载器,这里是 php.net reference。现在我不必显式包含每个文件,并且根据参考文件是延迟加载的。
PHP 将解析该文件。 PHP 可能会注册这些类,并且在任何情况下都会解析和语法检查该文件。但这可能仍然比加载单独的文件更快。更多单独的文件 I/O 会更慢,但它需要的内存更少,因为只加载所需的文件。
我也不担心,因为仅课程的内存消耗就接近于零。文件 I/O 可能也不会成为问题。您可能有 APC 缓存,它将 PHP 文件的编译版本保存到内存中,如果没有,您的操作系统可能会有一些缓存功能,导致经常使用的文件加载速度更快。
虽然没有什么可以阻止您将所有类对象合并到一个文件中,但这样做会违反基本的代码设计理念,并且最终会创建一个整体文件来管理。
如果您正在考虑为 require() 创建一个类,我建议将您的各个类保留为自己的文件,并使您的 consolidate.php 看起来更像这样:
<?php
/** consolidate.php **/
require "class.session.php";
require "class.general.php";
?>
对于 PHP 处理,在文件上调用 require() 或 include() 实际上不会调用对象上的任何构造方法。也就是说,它确实包含整个文件。例如,包括session.php (2KB) 和general.php (3KB) 将仅包括5KB。根据您的代码库,包含所有内容可能会大大增加该大小。