Compatible to PHP 7.0.x
This commit is contained in:
parent
df8f8dd322
commit
b099ab663b
|
@ -23,26 +23,15 @@ zend_class_entry* collections_pair_ce;
|
|||
|
||||
PHP_MINIT_FUNCTION(collections)
|
||||
{
|
||||
collection_property_name = zend_string_init("_a", strlen("_a"), 1);
|
||||
pair_first_name = zend_string_init("first", strlen("first"), 1);
|
||||
pair_second_name = zend_string_init("second", strlen("second"), 1);
|
||||
zend_class_entry collection_ce;
|
||||
INIT_CLASS_ENTRY_EX(collection_ce, "Collection", strlen("Collection"), collection_methods);
|
||||
INIT_CLASS_ENTRY_EX(collection_ce, "Collection", sizeof "Collection" - 1, collection_methods);
|
||||
collections_collection_ce = zend_register_internal_class(&collection_ce);
|
||||
zend_declare_property_null(collections_collection_ce, "_a", strlen("_a"), ZEND_ACC_PRIVATE);
|
||||
zend_declare_property_null(collections_collection_ce, "_a", sizeof "_a" - 1, ZEND_ACC_PRIVATE);
|
||||
zend_class_entry pair_ce;
|
||||
INIT_CLASS_ENTRY_EX(pair_ce, "Pair", strlen("Pair"), pair_methods);
|
||||
INIT_CLASS_ENTRY_EX(pair_ce, "Pair", sizeof "Pair" - 1, pair_methods);
|
||||
collections_pair_ce = zend_register_internal_class(&pair_ce);
|
||||
zend_declare_property_null(collections_pair_ce, "first", strlen("first"), ZEND_ACC_PUBLIC);
|
||||
zend_declare_property_null(collections_pair_ce, "second", strlen("second"), ZEND_ACC_PUBLIC);
|
||||
return SUCCESS;
|
||||
}
|
||||
|
||||
PHP_MSHUTDOWN_FUNCTION(collections)
|
||||
{
|
||||
zend_string_release(collection_property_name);
|
||||
zend_string_release(pair_first_name);
|
||||
zend_string_release(pair_second_name);
|
||||
zend_declare_property_null(collections_pair_ce, "first", sizeof "first" - 1, ZEND_ACC_PUBLIC);
|
||||
zend_declare_property_null(collections_pair_ce, "second", sizeof "second" - 1, ZEND_ACC_PUBLIC);
|
||||
return SUCCESS;
|
||||
}
|
||||
|
||||
|
@ -66,7 +55,7 @@ zend_module_entry collections_module_entry = {
|
|||
"collections",
|
||||
NULL,
|
||||
PHP_MINIT(collections),
|
||||
PHP_MSHUTDOWN(collections),
|
||||
NULL,
|
||||
PHP_RINIT(collections),
|
||||
NULL,
|
||||
PHP_MINFO(collections),
|
||||
|
|
|
@ -23,18 +23,20 @@
|
|||
#define IS_PAIR(zval) \
|
||||
EXPECTED(Z_TYPE(zval) == IS_OBJECT) && EXPECTED(Z_OBJCE(zval) == collections_pair_ce)
|
||||
|
||||
#define OBJ_PROPERTY_UPDATE(obj, property_name, value) \
|
||||
zend_update_property_ex(zend_get_executed_scope(), obj, property_name, value)
|
||||
#define OBJ_PROPERTY_FETCH(obj, property_name) \
|
||||
zend_read_property_ex(zend_get_executed_scope(), obj, property_name, 1, &rv)
|
||||
#define COLLECTION_UPDATE(obj, value) OBJ_PROPERTY_UPDATE(obj, collection_property_name, value)
|
||||
#define OBJ_PROPERTY_UPDATE(obj, property_name, name_len, value) \
|
||||
zend_update_property(zend_get_executed_scope(), obj, property_name, name_len, value)
|
||||
#define OBJ_PROPERTY_FETCH(obj, property_name, name_len) \
|
||||
zend_read_property(zend_get_executed_scope(), obj, property_name, name_len, 1, &rv)
|
||||
#define COLLECTION_UPDATE(obj, value) OBJ_PROPERTY_UPDATE(obj, "_a", sizeof "_a" - 1, value)
|
||||
#define COLLECTION_UPDATE_EX(value) COLLECTION_UPDATE(getThis(), value)
|
||||
#define COLLECTION_FETCH(obj) OBJ_PROPERTY_FETCH(obj, collection_property_name)
|
||||
#define COLLECTION_FETCH(obj) OBJ_PROPERTY_FETCH(obj, "_a", sizeof "_a" - 1)
|
||||
#define COLLECTION_FETCH_EX() COLLECTION_FETCH(getThis())
|
||||
#define PAIR_UPDATE_FIRST(obj, value) OBJ_PROPERTY_UPDATE(obj, pair_first_name, value)
|
||||
#define PAIR_UPDATE_SECOND(obj, value) OBJ_PROPERTY_UPDATE(obj, pair_second_name, value)
|
||||
#define PAIR_FETCH_FIRST(obj) OBJ_PROPERTY_FETCH(obj, pair_first_name)
|
||||
#define PAIR_FETCH_SECOND(obj) OBJ_PROPERTY_FETCH(obj, pair_second_name)
|
||||
#define PAIR_UPDATE_FIRST(obj, value) \
|
||||
OBJ_PROPERTY_UPDATE(obj, "first", sizeof "first" - 1, value)
|
||||
#define PAIR_UPDATE_SECOND(obj, value) \
|
||||
OBJ_PROPERTY_UPDATE(obj, "second", sizeof "second" - 1, value)
|
||||
#define PAIR_FETCH_FIRST(obj) OBJ_PROPERTY_FETCH(obj, "first", sizeof "first" - 1)
|
||||
#define PAIR_FETCH_SECOND(obj) OBJ_PROPERTY_FETCH(obj, "second", sizeof "second" - 1)
|
||||
|
||||
#define INIT_FCI() \
|
||||
zval params[2], rv, retval; \
|
||||
|
|
Reference in New Issue