zend arguments write safety


Assuring Write Safety for Other ParametersPodręcznik PHPPoprzedniRozdział 32. Accepting ArgumentsNastępnyAssuring Write Safety for Other Parameters You might run into a situation in which you need write access to a parameter that's retrieved with zend_get_parameters_ex() but not passed by reference. For this case, you can use the macro SEPARATE_ZVAL, which does a zval separation on the provided container. The newly generated zval is detached from internal data and has only a local scope, meaning that it can be changed or destroyed without implying global changes in the script context: zval **parameter; /* retrieve parameter */ zend_get_parameters_ex(1, &parameter); /* at this stage, <parameter> still is connected */ /* to Zend's internal data buffers */ /* make <parameter> write-safe */ SEPARATE_ZVAL(parameter); /* now we can safely modify <parameter> */ /* without implying global changes */ SEPARATE_ZVAL uses emalloc() to allocate the new zval container, which means that even if you don't deallocate this memory yourself, it will be destroyed automatically upon script termination. However, doing a lot of calls to this macro without freeing the resulting containers will clutter up your RAM. Note: As you can easily work around the lack of write access in the "traditional" API (with zend_get_parameters() and so on), this API seems to be obsolete, and is not discussed further in this chapter. PoprzedniSpis treściNastępnyDealing with Arguments Passed by ReferencePoczątek rozdziałuCreating Variables

Wyszukiwarka

Podobne podstrony:
zend arguments variable
zend arguments by reference
zend arguments retrieval
zend arguments
zend arguments deprecated retrieval
zend arguments access
ELECTRICAL SAFETY
DoD Joint Services Weapon Safety Review Process
function printer write
nazwy argumentow
write
Road safety vademecum (raport)
function zend version
functions arguments
function zend logo guid

więcej podobnych podstron