获取最新课程声明的名称?

时间:2011-09-20 16:07:39

标签: php introspection

我知道这可能是一个很长的镜头,但我希望这是可能的。这不是我正在开发的项目中的绊脚石(尽管它可能真的有帮助),但我很好奇。

我想获得最近声明的类的名称。基本上,我有一段代码,我需要在包含某些(不是所有)类的声明的某些文件之后追加。这段代码正在重复,除了在其中启动的类。

我尝试了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在任何需要的地方附加这段代码,那么在开发期间以及将来可以节省很多时间。因此,我的问题。)

2 个答案:

答案 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返回的最后一个元素,但是如果你想要这样做,那么看起来非常糟糕,非常错误。也许你可以更好地解释你的情况,以便更好地了解实现目标的其他方法。