मैं php5.4 के लिए एक एक्सटेंशन लिखने की कोशिश कर रहा हूं जो मूल रूप से सीपीपी में एक बहुत ही सरल वर्ग को लपेटता है।PHP 5.4 के लिए सी ++ एक्सटेंशन लिखना, उदाहरण कोड अप्रचलित
यह शिक्षा उद्देश्यों के लिए है।
मैं जिस तरह से php5.4 में यह करने के लिए लगता है php5.3
मैं इसे कैसे करना है पर प्रलेखन कहां ढूंढूं से बदल गया है? या इससे भी बेहतर, कोड उदाहरण, कोई अन्य एक्सटेंशन जो सीपीपी कक्षाओं को लपेटता है और php5.4
उदाहरण के लिए, जो काम करता था, और अब नहीं होता है। से http://devzone.zend.com/1435/wrapping-c-classes-in-a-php-extension/
zend_object_value car_create_handler(zend_class_entry *type TSRMLS_DC)
{
zval *tmp;
zend_object_value retval;
car_object *obj = (car_object *)emalloc(sizeof(car_object));
memset(obj, 0, sizeof(car_object));
obj->std.ce = type;
ALLOC_HASHTABLE(obj->std.properties);
zend_hash_init(obj->std.properties, 0, NULL, ZVAL_PTR_DTOR, 0);
zend_hash_copy(obj->std.properties, &type->default_properties,
(copy_ctor_func_t)zval_add_ref, (void *)&tmp, sizeof(zval *));
retval.handle = zend_objects_store_put(obj, NULL,
car_free_storage, NULL TSRMLS_CC);
retval.handlers = &car_object_handlers;
return retval;
}
लाइन zend_hash_copy(obj->std.properties, &type->default_properties, (copy_ctor_func_t)zval_add_ref, (void *)&tmp, sizeof(zval *));
संरचना उदाहरण type
के रूप में असफल हो जायेगी लिया (भूल गया यह परिभाषा) अब सदस्य default_properties
शायद अपने सबसे अच्छे संसाधन PHP5.4 स्रोत कोड –
@Mark बेकर मैं सीपीपी में महान नहीं कर रहा हूँ, अगर वहाँ एक विशिष्ट है विस्तार जो पहले से ही करता है, बहुत मददगार होगा। अन्यथा, हाँ, मैं ठीक उसी तरह करता हूं जो आप –
http://php.net/manual/en/internals2.structure.php का सुझाव देते हैं? –