2015-08-30 54 views
0

我宣佈方法爲Variant:HHVM擴展,如何返回

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 

如何創建並返回MyClass2:

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

回答

2

在創建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

使用