Fix PHP 8.2 compatibility https://github.com/laruence/yaf/pull/579/commits/e1557c8f219651550633567054af9c3298524c7e --- requests/yaf_request_simple.c.orig +++ requests/yaf_request_simple.c @@ -140,6 +140,9 @@ YAF_STARTUP_FUNCTION(request_simple){ zend_class_entry ce; YAF_INIT_CLASS_ENTRY(ce, "Yaf_Request_Simple", "Yaf\\Request\\Simple", yaf_request_simple_methods); yaf_request_simple_ce = zend_register_internal_class_ex(&ce, yaf_request_ce); +#if PHP_VERSION_ID >= 80200 + yaf_request_simple_ce->ce_flags |= ZEND_ACC_ALLOW_DYNAMIC_PROPERTIES; +#endif return SUCCESS; } --- tests/031.phpt.orig +++ tests/031.phpt @@ -36,7 +36,7 @@ Array ) array ( '_default' => - Yaf_Route_Map::__set_state(array( + %saf_Route_Map::__set_state(array( 'ctl_prefer:protected' => true, 'delimiter:protected' => '##', )), --- tests/issue231.phpt.orig +++ tests/issue231.phpt @@ -34,7 +34,7 @@ Yaf_Request_Http Object ) ) -Yaf_Request_Http::__set_state(array( +%saf_Request_Http::__set_state(array( 'method' => 'POST', 'module' => NULL, 'controller' => NULL, --- views/yaf_view_simple.c.orig +++ views/yaf_view_simple.c @@ -388,8 +388,10 @@ static int yaf_view_simple_eval(yaf_view_t *view, zend_string *tpl, zval * vars, ZVAL_STR(&phtml, strpprintf(0, "?>%s", ZSTR_VAL(tpl))); #if PHP_VERSION_ID < 80000 op_array = zend_compile_string(&phtml, eval_desc); -#else +#elif PHP_VERSION_ID < 80200 op_array = zend_compile_string(Z_STR(phtml), eval_desc); +#else + op_array = zend_compile_string(Z_STR(phtml), eval_desc, ZEND_COMPILE_POSITION_AFTER_OPEN_TAG); #endif zval_dtor(&phtml); efree(eval_desc); --- yaf_application.c.orig +++ yaf_application.c @@ -1053,8 +1053,10 @@ YAF_STARTUP_FUNCTION(application) { yaf_application_ce->ce_flags |= ZEND_ACC_FINAL; yaf_application_ce->serialize = zend_class_serialize_deny; yaf_application_ce->unserialize = zend_class_unserialize_deny; -#else +#elif PHP_VERSION_ID < 80200 yaf_application_ce->ce_flags |= ZEND_ACC_FINAL | ZEND_ACC_NOT_SERIALIZABLE; +#else + yaf_application_ce->ce_flags |= ZEND_ACC_FINAL | ZEND_ACC_NOT_SERIALIZABLE | ZEND_ACC_ALLOW_DYNAMIC_PROPERTIES; #endif memcpy(&yaf_application_obj_handlers, zend_get_std_object_handlers(), sizeof(zend_object_handlers));