HHVM 扩展,如何 return class

HHVM extension, How to return class

我将方法声明为变体:

Variant HHVM_METHOD(MyClass1, get) {
Object ob;
ob.o_set(s_PropertyName1, value1, s_MyClass2 );
ob.o_set(s_PropertyName1, value2, s_MyClass2 );
return Variant(ob);
}

PHP代码:

$c = new MyClass1();
var_dump($c->get()); // return StdClass

如何创建和return MyClass2:

var_dump($c->get()); // must return MyClass2

创建Object时,需要传入一个指向Class对象的指针。

Variant HHVM_METHOD(MyClass1, get) {
    Object ob{Unit::loadClass(s_MyClass2.get()};
    ob.o_set(s_PropertyName1, value1, s_MyClass2 );
    ob.o_set(s_PropertyName1, value2, s_MyClass2 );
    return ob;
}

您可以在 DateTime::createFromFormat

中看到它的使用