gpt4 book ai didi

php - 是否为自动加载类的父类调用了 __autoload()?

转载 作者:可可西里 更新时间:2023-11-01 00:04:25 27 4
gpt4 key购买 nike

main.php中,添加了自动加载并创建了一个新对象:

function __autoload($class) {
require_once($class . '.php');
}
...
$t = new Triangle($side1, $side2, $side3);

Triangle.php 中:

class Triangle extends Shape {...}

Shape.php 是一个抽象类:

abstract class Shape {
abstract protected function get_area();
abstract protected function get_perimeter();
}

我可以看到 __autoload 函数调用了 Triangle.php,但是它是否同时调用了 Shape.php

最佳答案

不(不是在完全的同一时间),但是是的(它会被加载并且一切都会工作)。

当您调用 new Triangle 时,它会发现 Triangle 是一个尚未加载的类,因此它会调用 __autoload()。这将 require_once Triangle.php 文件。

在解析 Triangle.php 时,它看到还有另一个类 (Shape) 没有被加载,所以它重复这个过程。

简而言之,您需要做的就是您所拥有的,但它会通过多次传递完成。

关于php - 是否为自动加载类的父类调用了 __autoload()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1420174/

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