[英]how to declare a php class with a variable name
在PHP中有一种方法吗?
使用变量声明一个类
即(这不起作用 - 但它在这里让你了解我的意图):
$myname = "the_class";
class $myname {
...
}
我也尝试过:
define("MYNAME","the_class");
class MYNAME{
...
}
我尝试过:
$myname = "the_class";
class $$myname {
...
}
这并没有真正的帮助:
http://php.net/manual/en/language.variables.scope.php
这也不是:
http://us3.php.net/manual/en/keyword.class.php
非常感谢您的帮助
当然,使用php写入具有所需名称的文件,然后需要该文件。 你也可以使用eval
,例如: eval("class $myname { ... };");
对于更复杂的情况,请使用诸如Zend的CodeGenerator
类的库( 此处为示例)。
请不要上/下这个回复或将其标记为答案。
Eugen Rieck的回答是最好的,但被置于评论中。
他链接的答案显示了如何使用class_alias()将类命名为define。 如果您正在编写库类并希望让用户将其命名为任何名称,例如通过在配置文件中设置define,这将非常有用。
因此,如果您正在编写包含MyLibraryClass的库,您可以让用户将其命名为LC之类,以便简洁,这样他们就可以编写LC :: someFunction()或LC-> someFunction,而不必编写完整的东西。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.