PHP 忒聊
綴豖
梒 32. Accepting Arguments
ヶ輛
Assuring 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 */
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.
綴豖
れ萸
ヶ輛
Dealing with Arguments Passed by Reference
奻珨撰
Creating Variables