我的应用程序使用一个“中央”页面控制器,它在获取请求之前使用 require_once 抓取一堆文件(我不敢说是库),每个文件都包含一些相关的类。如:
require_once (dir_lib . 'db.php');
require_once (dir_lib . 'uuid.php');
require_once (dir_lib . 'data.php');
require_once (dir_lib . 'token.php');
require_once (dir_lib . 'logs.php');
require_once (dir_lib . 'time.php');
ETC...
直到最近安装(真棒,但巨大的)“HTML Purifier”库并查看它的自动加载器之前,我才费心检查内存使用情况。显然,没有自动加载器,每个脚本实例现在的内存使用量高达(天哪!)5376 KB。(如果这是最终结果,我不知道内置自动加载器的用途,但我离题了)没有 HTML Purifier,大多数实例的重量仍然超过 1 MB。
阅读有关PHP 自动加载函数的信息,我得到的印象是自动加载器严格用于 OOP。除了净化器库之外,我使用的面向对象代码很少。我只是误解了这个概念吗?有没有其他实用的方法来避免盲目加载每个请求可能不需要的一堆类?我只是因为试图将它们全部包含在内而懒惰吗?
编辑 -
在此处重复此评论以澄清我所说的非 oo 的意思,如果这有很大的不同:
我基本上使用类来代替命名空间,而不使用(几乎)任何实际的 OOP。也就是说,“DBFunctions”类可能包含例如函数“execute”和“getRow”。这些函数通过诸如“dbFunctions::execute($sql)”之类的静态方法调用来调用。