一个文件与多个文件 (OOP)

One File vs Multiple Files (OOP)

提问人:MigCodec 提问时间:11/17/2023 更新时间:11/19/2023 访问量:41

问:

首先,英语不是我的第一语言,所以对于语法错误,我深表歉意,

我已经构建了一个程序 php,我为每个创建的类(如 Core.php)提供了 1 个文件。

<?php
class Core{

}
?>

我使用 for 循环在启动之前要求所有文件 de 程序,但对于解释器来说,这似乎是一项非常昂贵的任务。

我正在考虑构建 1 个 PHP 文件,其中包含所需的所有类。

那么我使用什么选项呢?

我期望更好的性能,因为我说的是 20 个或更多类

PHP 哎呀

评论

3赞 Nigel Ren 11/17/2023
关于自动加载(stackoverflow.com/questions/7651509/...)和PSR-4(stackoverflow.com/questions/60918843/...)
0赞 Rob Eyre 11/17/2023
如果每个类使用一个文件,这将使使用自动加载器变得更加容易,那么您就不必要求所有文件,因为自动加载器只会拉入所需的文件

答:

-1赞 tereško 11/19/2023 #1

“每个文件一个类”是正确的选择。

正如评论中提到的@NigelRen,您不应该手动处理类的包含,而是使用自动加载器。理想的选择是为此使用 composer

至于你的性能问题 - 这不是它的工作原理。PHP 不会一直从磁盘读取文件。取而代之的是,类文件被缓存(以预编译的形式存储在RAM中)。

附言

你的例子有点担心 - 拥有“核心”或“上下文”或“系统”类是代码的味道,这表明你可能做错了什么。在这种特殊情况下 - 创建一个“神类”。那将是一个坏主意。

附注

如果结束标记后面没有任何东西,则不需要使用结束标记。实际上,拥有它是有害的 - 它是“标头已发送”警告的最常见原因之一。?>