0

这几乎回答了我的问题:

PHP 是否读取每个请求所需的脚本?

但我想知道这是如何针对插件工作的。

我一直在想,我可以在插件子文件夹下添加我想要的任何文件,例如 /plug-ins/my-plugin/my-file.php,然后向其中添加 PHP 代码,这真的很酷将在每个请求上执行,例如:add_action('init','my_init);

现在我开始怀疑这到底有多“酷”。这是否意味着 WordPress 必须为每个请求做一个目录列表来查找所有文件,然后还要读取所有文件?还是有一些内部优化?与 ASP.NET 之类的大多数项目必须在 web.config 中注册并且除非 web.config 被修改,否则不会重新检查相比,如果不是这样的话,似乎相当慢。

我知道您必须在第一次安装时激活插件,但之后您可以随时添加文件,它们将在下一个请求时“工作”。无法想象它如何避免对每个请求进行目录搜索,除非它使用FindNextChangeNotification之类的东西来通知操作系统的更改(如果所有支持的操作系统 + PHP 版本甚至都有)。

4

1 回答 1

1

插件基础文件会在每次请求时自动加载。(通常基本文件是 /plugins/my-plugin/my-plugin.php )

但是,如果不需要,插件作者可能会选择执行一些逻辑而不加载插件中的其余 PHP 文件。

如果您有 10 000 个小插件,那将相当慢,除非您使用 nostat 启用操作码缓存(Zend 或 APC)

如果你这样做,性能将几乎与拥有 0 个插件相当。

PS。每个人都使用 WP,因为它易于开发,拥有蓬勃发展的社区和插件/主题市场,并且拥有迄今为止任何 CMS 中最好的管理面板。

于 2013-10-18T01:40:11.597 回答