我正在开发一个非常简单的模板引擎,它允许其他人通过继承 TemplateParser 类来扩展模板解析功能。我的 TemplateParser 类的骨架如下所示:
abstract class TemplateParser {
    public static function parse_template($template_file) {
        //Do stuff with $template_file
        $specials = array();
        foreach (get_class_methods(__CLASS__) as $method) {
            if(strpos($method, "replace_") !== false) {
                $specials[] = $method;
            }
        }
    }
}
我想做的是能够获取一个子类并在父类“自动”知道的子类中添加任意数量的 replace_XXXXX 方法。我的问题是__CLASS__常量总是等于'TemplateParser',即使在子类上调用也是如此。有什么方法可以从 TemplateParser中获取子类的方法?