internals:engine

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
internals:engine [2010/06/23 17:40] – __FILE__ and __LINE (info via tony) philipinternals:engine [2011/08/29 00:41] – [Extension Globals] cataphract
Line 53: Line 53:
 Add your random stuff here. I'll move it/update it/fix it (Derick) Add your random stuff here. I'll move it/update it/fix it (Derick)
  
-How to get __LINE__ and __FILE__?+How to get %%__LINE__ and __FILE__%%?
   * zend_get_executed_filename() and zend_get_executed_lineno()   * zend_get_executed_filename() and zend_get_executed_lineno()
  
Line 129: Line 129:
 } }
 </code> </code>
 +
 +The globals constructor and destructor are NOT execute per-request, they are part of the module startup/shutdown. The globals can store data across requests. If you need to do per-request operations to the globals, use module-activate and module-deactivate callbacks.
  
 Note: ZEND_MODULE_GLOBALS_CTOR_D will declare a function as receiving a zend_extname_globals*, not void* and zend_module_entry is supposed to contain a function pointer type that receives void*. I think this violates the C standard (the declarations are incompatible), but should however by safe since the arguments have the same size. Note: ZEND_MODULE_GLOBALS_CTOR_D will declare a function as receiving a zend_extname_globals*, not void* and zend_module_entry is supposed to contain a function pointer type that receives void*. I think this violates the C standard (the declarations are incompatible), but should however by safe since the arguments have the same size.
internals/engine.txt · Last modified: 2017/09/22 13:28 by 127.0.0.1