我知道用相同的名字扩展类是不可能的,但我很好奇,如果有人知道加载类的方法,然后重命名它,所以我可以稍后用原来的名称扩展它。希望像下面的东西:PHP解决方法来扩展相同名称的类?
<?php
//function to load and rename Class1 to Class2: does something like this exist?
load_and_rename_class('Class1', 'Class2');
//now i can extend the renamed class and use the original name:
class Class1 extends Class2{
}
?>
编辑: 嗯,我明白,这将是可怕的做法在有类文件的大文库的基本OOP环境。但是我使用的是CakePHP MVC框架,能够以这种方式扩展插件类是非常有意义的,因为框架遵循完善的命名约定(模型名称,视图名称,控制器名称,URL路径(http:///site.com/users)等)。到目前为止,为了扩展一个CakePHP插件(例如:用户插件),你必须通过添加一个前缀(像AppUsers)来扩展每个不同名称的模型,视图和控制器类,然后再做一些编码重命名变量名称,然后你必须编码重命名的URL路由等等,最终返回到“用户名”约定。
由于MVC框架代码组织良好,如果能够实现上述某些功能,它在代码中很容易理解。
真的__never__再想想这样的事情!其对几乎所有的好习惯 – KingCrunch
即使我真的不明白你问我能说什么这听起来像一个坏主意,从技术的问题的一些基本missunderstanding而产生。 – markus
@markus:简而言之,他想用一个新的替代现有的类,这个类应该扩展前一个类。坏主意,是的。 – KingCrunch