你如何从const字符串命名空间

时间:2018-02-12 13:11:52

标签: php casting const abstract

我试图找出一种方法来轻松地转换动态创建的对象,这样我就可以在IDE中看到它的属性和公开的方法。当字符串包含完全限定的命名空间时,它似乎很奇怪。

无论如何我可以从抽象类中的const字符串中转换对象吗?

abstract class Models
{
    const MODEL = "foo\\bar\\Model";
}


//OK
    $p1 = "foo\\bar\\Model";
    $p2 = new $p1; 

//FAILS

    //$wannaDoThis = (Models::MODEL) Generator::generate(Models::MODEL);


    //$str1 = Models::MODEL;
    //$str2 = (string) Models::MODEL;
    //$o1 = new Models::MODEL;
    //$o2 = new "".Models::MODEL;
    //$o3 = new (Models::MODEL);

1 个答案:

答案 0 :(得分:0)

这应该有效:

    String value = new String(byteArray);
    byte[] byteArray = new byte[] {137,80,78,71,13,10,26,10,0,0,0,13,73,72,68...};

您可以在此处看到https://3v4l.org/87sKs