gpt4 book ai didi

php - 如何在 PHP 代码中调用 __autoload()

转载 作者:可可西里 更新时间:2023-10-31 22:41:11 25 4
gpt4 key购买 nike

我是 php 的新手,我想在我的代码中使用 php5 的 __autoload 功能。我在 index.php 中写了下面的代码,但我不明白应该如何以及何时调用 __autoload 函数。

function __autoload($class) {
if (file_exists($class . '.php')) {
include($class . '.php');
} else {
throw new Exception('Unable to load class named $class');
}
}

我看过this thread也但是我的应用程序中没有这样的自动加载器类。是否每个应用程序都需要一个单独的类才能使用自动加载?如果不能,我可以像上面那样拥有一个功能并完成它的任务吗?谁能解释如何在我的 php 代码中调用上面的 __autoload 函数?

最佳答案

您不会自己调用 __autoload(),PHP 会在尝试查找类的实现时调用。

例如……

function __autoload($className) {
include $className . '.php';
}

$customClass = new CustomClass;

...这将调用 __autoload(),将 CustomClass 作为参数传递。这个(愚蠢的例子)__autoload() 实现将尝试通过在末尾添加 php 扩展名来包含一个文件。

顺便说一句,您应该改用 spl_autoload_register()。然后您可以有多个实现,这在将多个库与自动加载器一起使用时很有用。

...using __autoload() is discouraged and may be deprecated or removed in the future.

Source .

关于php - 如何在 PHP 代码中调用 __autoload(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12702527/

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