const zend_function_entry car_methods[] = { /* Class Car */ PHP_ME(Car, __construct, NULL, ZEND_ACC_PUBLIC | ZEND_ACC_CTOR) PHP_ME(Car, run, NULL, ZEND_ACC_PUBLIC) PHP_ME(Car, setDriver, arg_car_setDriver, ZEND_ACC_PUBLIC) PHP_FE_END /* Must be the last line in hello_class_functions[] */ };
/* method flags (types) */ #define ZEND_ACC_STATIC 0x01 #define ZEND_ACC_ABSTRACT 0x02 #define ZEND_ACC_FINAL 0x04 #define ZEND_ACC_IMPLEMENTED_ABSTRACT 0x08 /* class flags (types) */ /* ZEND_ACC_IMPLICIT_ABSTRACT_CLASS is used for abstract classes (since it is set by any abstract method even interfaces MAY have it set, too). */ /* ZEND_ACC_EXPLICIT_ABSTRACT_CLASS denotes that a class was explicitly defined as abstract by using the keyword. */ #define ZEND_ACC_IMPLICIT_ABSTRACT_CLASS 0x10 #define ZEND_ACC_EXPLICIT_ABSTRACT_CLASS 0x20 #define ZEND_ACC_INTERFACE 0x40 #define ZEND_ACC_TRAIT 0x80 #define ZEND_ACC_ANON_CLASS 0x100 #define ZEND_ACC_ANON_BOUND 0x200 #define ZEND_ACC_INHERITED 0x400 /* method flags (visibility) */ /* The order of those must be kept - public < protected < private */ #define ZEND_ACC_PUBLIC 0x100 #define ZEND_ACC_PROTECTED 0x200 #define ZEND_ACC_PRIVATE 0x400 #define ZEND_ACC_PPP_MASK (ZEND_ACC_PUBLIC | ZEND_ACC_PROTECTED | ZEND_ACC_PRIVATE) #define ZEND_ACC_CHANGED 0x800 #define ZEND_ACC_IMPLICIT_PUBLIC 0x1000 /* method flags (special method detection) */ #define ZEND_ACC_CTOR 0x2000 #define ZEND_ACC_DTOR 0x4000 #define ZEND_ACC_CLONE 0x8000 /* method flag used by Closure::__invoke() */ #define ZEND_ACC_USER_ARG_INFO 0x80 /* method flag (bc only), any method that has this flag can be used statically and non statically. */ #define ZEND_ACC_ALLOW_STATIC 0x10000 /* shadow of parent's private method/property */ #define ZEND_ACC_SHADOW 0x20000 /* deprecation flag */ #define ZEND_ACC_DEPRECATED 0x40000