gpt4 book ai didi

PHP:如何自动包含和实例化类?

转载 作者:行者123 更新时间:2023-12-04 14:42:26 27 4
gpt4 key购买 nike

在我的脚本的同一目录中有一个 PHP 文件列表。它们都遵循命名约定(例如 class.foo.php)。当我的脚本运行时,我希望它包含这些文件。对文件进行 scandir,对结果数组中的每个项目进行测试,然后 include 文件就足够简单了。

问题是如何在我的脚本中创建这些类的实例(这也是一个类)? class.foo.php 文件中将包含 class Foo。我需要创建一个 Foo 的实例(有时只是访问一个静态方法)。我无法在运行脚本中执行此操作,因为它不知道自动包含的类。

get_included_files 是无用的,因为它返回类链中所有包含的文件(我只对运行脚本中包含的类感兴趣)。

也许我的做法不对。我有什么方法可以“自动包含”类文件并在运行脚本中使用它们?

最佳答案

创建一个自动加载函数并注册它:spl_autoload_register

适当的自动加载函数会在类实例化时加载相应的文件。

来自 php.net 的示例:

function my_autoloader($class) {
include 'classes/' . $class . '.class.php';
}

spl_autoload_register('my_autoloader');

关于PHP:如何自动包含和实例化类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29739221/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com