gpt4 book ai didi

php - 类和接口(interface)php之间的自动加载区别

转载 作者:行者123 更新时间:2023-12-04 06:09:39 26 4
gpt4 key购买 nike

我正在寻找我遇到的以下问题。
我们项目的类文件名为logon.class.php
但是该类的接口(interface)文件名为 logon.interface.php

我的问题是,当自动加载方法运行时,我应该能够检测它是类调用还是接口(interface)调用。

<?php 
function __autoload($name){
if($name === is_class){
include_once($name.'class.php');
}elseif ($name === is_interface){
include_once($name.'interface.php');
}
}
?>

最佳答案

您可以使用ReflectionClass::isInterface确定类是否是接口(interface)。

$reflection = new ReflectionClass($name);

if ($reflection->isInterface()){
//Is an interface
}else{
//Not an interface
}

在您的情况下,您可能必须使用 file_exist首先在 $name.interface.php$name.class.php要确定它们是否存在,需要存在的那个,然后检查它是否是一个接口(interface)。

但是,我的观点是,这可能会导致问题。如果你有 MyClass.class.php 怎么办?和 MyClass.interface.php ?

关于php - 类和接口(interface)php之间的自动加载区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7924782/

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