我有两个课,class ClassOne { }
和class ClassTwo {}
。我得到的字符串可以是"One"
或"Two"
。
而不是使用长switch
语句,例如:
switch ($str) {
case "One":
return new ClassOne();
case "Two":
return new ClassTwo();
}
有没有一种方法可以使用字符串创建实例,即new Class("Class" . $str);
?
是的你可以!
$str = 'One';
$class = 'Class'.$str;
$object = new $class();
使用名称空间时,请提供标准名称:
$class = '\Foo\Bar\MyClass';
$instance = new $class();
您可以在php中执行的其他一些很酷的工作是:
$personCount = 123;
$varname = 'personCount';
echo $$varname; // echo's 123
以及可变的函数和方法。
$func = 'my_function';
$func('param1'); // calls my_function('param1');
$method = 'doStuff';
$object = new MyClass();
$object->$method(); // calls the MyClass->doStuff() method.
问题内容: 我尝试过使用字符串以多种方式创建类的实例,但是 在Swift 3中 都没有。 以下是我尝试过的无法使用的Swift 3之前的解决方案 -使课堂成为目标C课堂 -使用NSString值指定类(使用和不使用@objc属性) 我没有做正确的事,但没有在线找到任何解决方案。 如何在Swift 3中使用字符串创建类的实例? 问题答案: 您可以尝试以下方法: 像这样使用func:
问题内容: 我有一个字符串形式: 依此类推(长度会有所不同)。由此创建字典的最简单方法是什么? 我知道我可以拆分,但是我无法获得正确的语法。如果我分开,那么我如何将这两个部分结合在一起? 对此进行迭代似乎很痛苦。 问题答案: 编辑:下一个解决方案是当您想要将值作为整数,我认为这是您想要的。
问题内容: 我想基于由MySQL数据库中的字符串定义的类型在PHP中创建一个对象。数据库表具有以下列和样本数据: …使用PHP数据类型 我只想使用一个查询,通过ID选择一行,然后创建一个类型为Object的对象,该对象定义表的type列,并将SELECTed行中的其他列分配给新创建的对象。 我当时在想使用: 读取类型属性 创建具有由type属性定义的类型的对象 但是没有办法动态地基于字符串创建类型
问题内容: 我想拥有一个从Unicode字符串创建子段的函数,例如should return 。我应该怎么做? 问题答案: 代替冗长的替换,请尝试以下方法: 这是基于Symfony的Jobeet教程中的内容。
问题内容: 这是一个非常基本的问题。但是我无法在Java文档中找到答案,也无法对其进行测试,因为我不知道这种方法是否存在。 我可能会收到一个URL字符串,可能是 要么 然后我会得到可能以开头的资源路径,或者就像 我正在看课,可以处理第一部分,即获取hostURL使其成为HTTPS或HTTP请求。问题是附加资源路径。我必须手动检查它的第一个字母是否存在。我想知道此功能是否已经在某个类中。 问题答案:
我想解组一个具有' 有没有办法在不使用替换/replace的情况下取消对字符串的排序?