我知道这可能是一个很长的镜头,但我希望这是可能的。这不是我正在开发的项目中的绊脚石(尽管它可能真的有帮助),但我很好奇。
我想获得最近声明的类的名称。基本上,我有一段代码,我需要在包含某些(不是所有)类的声明的某些文件之后追加。这段代码正在重复,除了在其中启动的类。
我尝试了get_declared_classes()
,但数组按字母顺序排序,而不是按声明类的顺序排序。
以下是我想要实现的示例代码:
class MyClass{
}
//Repeating code:
if(isset($_REQUEST['fxn'])){
$class = new MyClass(); //I am hoping to make the class name dynamic, according to the most recent declared class...
//More repeating codes here...
}
(如果我可以使用include
在任何需要的地方附加这段代码,那么在开发期间以及将来可以节省很多时间。因此,我的问题。)
答案 0 :(得分:1)
这可能不是您正在寻找的,但它有效:
class MyClass {}
$class_name = 'MyClass';
//Repeating code:
if(isset($_REQUEST['fxn'], $class_name)) {
$class = new $class_name();
//More repeating codes here...
}
定义要使用的类时,还要定义一个具有类名称的变量。
答案 1 :(得分:1)
你可能抓住get_declared_classes
返回的最后一个元素,但是如果你想要这样做,那么看起来非常糟糕,非常错误。也许你可以更好地解释你的情况,以便更好地了解实现目标的其他方法。