php-internal-docs 8.4.8
Unofficial docs for php/php-src
Loading...
Searching...
No Matches
zend_constants.c File Reference
#include "zend.h"
#include "zend_constants.h"
#include "zend_exceptions.h"
#include "zend_execute.h"
#include "zend_variables.h"
#include "zend_operators.h"
#include "zend_globals.h"
#include "zend_API.h"
#include "zend_constants_arginfo.h"

Go to the source code of this file.

Macros

#define IS_CONSTANT_VISITED_MARK   0x80
 
#define IS_CONSTANT_VISITED(zv)
 
#define MARK_CONSTANT_VISITED(zv)
 
#define RESET_CONSTANT_VISITED(zv)
 

Functions

void free_zend_constant (zval *zv)
 
void clean_module_constants (int module_number)
 
void zend_startup_constants (void)
 
void zend_register_standard_constants (void)
 
ZEND_API void zend_register_null_constant (const char *name, size_t name_len, int flags, int module_number)
 
ZEND_API void zend_register_bool_constant (const char *name, size_t name_len, bool bval, int flags, int module_number)
 
ZEND_API void zend_register_long_constant (const char *name, size_t name_len, zend_long lval, int flags, int module_number)
 
ZEND_API void zend_register_double_constant (const char *name, size_t name_len, double dval, int flags, int module_number)
 
ZEND_API void zend_register_stringl_constant (const char *name, size_t name_len, const char *strval, size_t strlen, int flags, int module_number)
 
ZEND_API void zend_register_string_constant (const char *name, size_t name_len, const char *strval, int flags, int module_number)
 
ZEND_API zend_constant_zend_get_special_const (const char *name, size_t len)
 
ZEND_API bool zend_verify_const_access (zend_class_constant *c, zend_class_entry *scope)
 
ZEND_API zvalzend_get_constant_str (const char *name, size_t name_len)
 
ZEND_API zend_constantzend_get_constant_ptr (zend_string *name)
 
ZEND_API zvalzend_get_constant (zend_string *name)
 
ZEND_API zvalzend_get_class_constant_ex (zend_string *class_name, zend_string *constant_name, zend_class_entry *scope, uint32_t flags)
 
ZEND_API zvalzend_get_constant_ex (zend_string *cname, zend_class_entry *scope, uint32_t flags)
 
ZEND_API zend_result zend_register_constant (zend_constant *c)
 

Macro Definition Documentation

◆ IS_CONSTANT_VISITED

#define IS_CONSTANT_VISITED ( zv)
Value:
zval * zv
Definition ffi.c:3975
#define IS_CONSTANT_VISITED_MARK
#define Z_CONSTANT_FLAGS_P(zval_p)
Definition zend_types.h:693

Definition at line 33 of file zend_constants.c.

◆ IS_CONSTANT_VISITED_MARK

#define IS_CONSTANT_VISITED_MARK   0x80

Definition at line 31 of file zend_constants.c.

◆ MARK_CONSTANT_VISITED

#define MARK_CONSTANT_VISITED ( zv)
Value:

Definition at line 34 of file zend_constants.c.

◆ RESET_CONSTANT_VISITED

#define RESET_CONSTANT_VISITED ( zv)
Value:

Definition at line 35 of file zend_constants.c.

Function Documentation

◆ _zend_get_special_const()

ZEND_API zend_constant * _zend_get_special_const ( const char * name,
size_t len )

Definition at line 203 of file zend_constants.c.

◆ clean_module_constants()

void clean_module_constants ( int module_number)

Definition at line 97 of file zend_constants.c.

◆ free_zend_constant()

void free_zend_constant ( zval * zv)

Definition at line 40 of file zend_constants.c.

◆ zend_get_class_constant_ex()

ZEND_API zval * zend_get_class_constant_ex ( zend_string * class_name,
zend_string * constant_name,
zend_class_entry * scope,
uint32_t flags )

Prevent accessing trait constants directly on cases like \defined() or \constant(), etc.

Definition at line 295 of file zend_constants.c.

◆ zend_get_constant()

ZEND_API zval * zend_get_constant ( zend_string * name)

Definition at line 286 of file zend_constants.c.

◆ zend_get_constant_ex()

ZEND_API zval * zend_get_constant_ex ( zend_string * cname,
zend_class_entry * scope,
uint32_t flags )

Definition at line 389 of file zend_constants.c.

◆ zend_get_constant_ptr()

ZEND_API zend_constant * zend_get_constant_ptr ( zend_string * name)

Definition at line 271 of file zend_constants.c.

◆ zend_get_constant_str()

ZEND_API zval * zend_get_constant_str ( const char * name,
size_t name_len )

Definition at line 262 of file zend_constants.c.

◆ zend_register_bool_constant()

ZEND_API void zend_register_bool_constant ( const char * name,
size_t name_len,
bool bval,
int flags,
int module_number )

Definition at line 129 of file zend_constants.c.

◆ zend_register_constant()

ZEND_API zend_result zend_register_constant ( zend_constant * c)

Definition at line 477 of file zend_constants.c.

◆ zend_register_double_constant()

ZEND_API void zend_register_double_constant ( const char * name,
size_t name_len,
double dval,
int flags,
int module_number )

Definition at line 150 of file zend_constants.c.

◆ zend_register_long_constant()

ZEND_API void zend_register_long_constant ( const char * name,
size_t name_len,
zend_long lval,
int flags,
int module_number )

Definition at line 139 of file zend_constants.c.

◆ zend_register_null_constant()

ZEND_API void zend_register_null_constant ( const char * name,
size_t name_len,
int flags,
int module_number )

Definition at line 119 of file zend_constants.c.

◆ zend_register_standard_constants()

void zend_register_standard_constants ( void )

Definition at line 110 of file zend_constants.c.

◆ zend_register_string_constant()

ZEND_API void zend_register_string_constant ( const char * name,
size_t name_len,
const char * strval,
int flags,
int module_number )

Definition at line 172 of file zend_constants.c.

◆ zend_register_stringl_constant()

ZEND_API void zend_register_stringl_constant ( const char * name,
size_t name_len,
const char * strval,
size_t strlen,
int flags,
int module_number )

Definition at line 161 of file zend_constants.c.

◆ zend_startup_constants()

void zend_startup_constants ( void )

Definition at line 102 of file zend_constants.c.

◆ zend_verify_const_access()

ZEND_API bool zend_verify_const_access ( zend_class_constant * c,
zend_class_entry * scope )

Definition at line 234 of file zend_constants.c.