繁体   English   中英

如何使用变量名声明一个php类

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM