使用类_自动加载PHP存在混乱
我正在开发一个应用程序,其中我有很多PHP类,我编写的类如下所示使用类_自动加载PHP存在混乱,php,Php,我正在开发一个应用程序,其中我有很多PHP类,我编写的类如下所示 <?php if(!class_exists('AClass1')){ class AClass1{ } } ?> if(class_exists('AClass1')){ // Some Code To RUN } 在上面的代码中,如果类AClass1不存在,那么它将通过class\u exists函数自动加载,这对我很好 但是当我在一个名为aclass1.php的文件中编写这样的代码时 <
<?php
if(!class_exists('AClass1')){
class AClass1{
}
}
?>
if(class_exists('AClass1')){
// Some Code To RUN
}
在上面的代码中,如果类AClass1
不存在,那么它将通过class\u exists
函数自动加载,这对我很好
但是当我在一个名为aclass1.php的文件中编写这样的代码时
<?php
if(!class_exists('AClass1')){
class AClass1{
}
}
?>
如果该文件是通过上述if条件加载的,那么在加载该文件后,它仍然会循环到autoloader中,而只是应该注册该类
那么,哪种好方法可以避免循环到autoloader中,即使文件位于类源代码中
class\u exists
class\u exists('CLASSNAME',false)
避免在自动加载器内循环我编写了一个简单的测试,看看是否存在include循环: test.php
为什么不简单地为文件添加一个唯一的名称空间,而不是放入一堆class_exists()
?然后,只要名称空间不同,就可以有多少个类具有相同的名称。@MagnusEriksson我已经用名称空间创建了我的项目。但唯一的问题是,这是一个wordpress框架,为什么要检查您将要定义的类是否存在?我的意思是你可以使用类_exists和false作为第二个参数。但这对我来说毫无意义,除非你正在创造某种“聚填充”。但是,如果您试图防止多次包含该文件时出现错误,那么就不要多次包含该文件。这么简单…如果它是wordpress框架,又有什么关系呢?它仍然是PHP。如果在名称空间中有它们,那么class\u exists()
首先有什么意义?你到底想用它们解决什么问题?@slepic对不起,我很困惑,:-(你介意解释一下吗
php test.php
class exists