<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title>Predefined Constants</title> </head> <body><div class="manualnavbar" style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="uopz.resources.html">Resource Types</a></div> <div class="next" style="text-align: right; float: right;"><a href="ref.uopz.html">Uopz Functions</a></div> <div class="up"><a href="book.uopz.html">uopz</a></div> <div class="home"><a href="index.html">PHP Manual</a></div> </div><hr /><div id="uopz.constants" class="appendix"> <h1>Predefined Constants</h1> <p class="simpara"> The constants below are defined by this extension, and will only be available when the extension has either been compiled into PHP or dynamically loaded at runtime. </p> <p class="para"> The following opcodes are defined as constants by uopz: </p> <p class="para"> <dl> <dt id="constant.zend-exit"> <strong><code>ZEND_EXIT</code></strong> (<span class="type"><a href="language.types.integer.html" class="type integer">integer</a></span>) </dt> <dd> <span class="simpara"> Invoked by exit() and die(), recieves no arguments. Return boolean <strong><code>TRUE</code></strong> to exit, <strong><code>FALSE</code></strong> to continue </span> </dd> <dt id="constant.zend-new"> <strong><code>ZEND_NEW</code></strong> (<span class="type"><a href="language.types.integer.html" class="type integer">integer</a></span>) </dt> <dd> <span class="simpara"> Invoked by object construction, receives the class of object being created as the only argument </span> </dd> <dt id="constant.zend-throw"> <strong><code>ZEND_THROW</code></strong> (<span class="type"><a href="language.types.integer.html" class="type integer">integer</a></span>) </dt> <dd> <span class="simpara"> Invoked by the throw construct, receives the class of exception being thrown as the only argument </span> </dd> <dt id="constant.zend-fetch-class"> <strong><code>ZEND_FETCH_CLASS</code></strong> (<span class="type"><a href="language.types.integer.html" class="type integer">integer</a></span>) </dt> <dd> <span class="simpara"> Invoked upon composure, recieves the class the name of the class being fetched as the only argument </span> </dd> <dt id="constant.zend-add-trait"> <strong><code>ZEND_ADD_TRAIT</code></strong> (<span class="type"><a href="language.types.integer.html" class="type integer">integer</a></span>) </dt> <dd> <span class="simpara"> Invoked upon composure, recieves the class the trait is being added to as the first argument, and the name of the trait as the second argument </span> </dd> <dt id="constant.zend-add-interface"> <strong><code>ZEND_ADD_INTERFACE</code></strong> (<span class="type"><a href="language.types.integer.html" class="type integer">integer</a></span>) </dt> <dd> <span class="simpara"> Invoked upon composure, recieves the class the interface is being added to as the first argument, and the name of the interface as the second argument </span> </dd> <dt id="constant.zend-instanceof"> <strong><code>ZEND_INSTANCEOF</code></strong> (<span class="type"><a href="language.types.integer.html" class="type integer">integer</a></span>) </dt> <dd> <span class="simpara"> Invoked by instanceof operator, recieves the object being verified as the first argument, and the name of the class which that object should be as the second argument </span> </dd> </dl> </p> <p class="para"> The following constants control the VM's behaviour after a user handler is invoked, be extremely careful! </p> <p class="para"> <dl> <dt id="constant.zend-user-opcode-continue"> <strong><code>ZEND_USER_OPCODE_CONTINUE</code></strong> (<span class="type"><a href="language.types.integer.html" class="type integer">integer</a></span>) </dt> <dd> <span class="simpara"> Advance 1 opcode and continuue </span> </dd> <dt id="constant.zend-user-opcode-enter"> <strong><code>ZEND_USER_OPCODE_ENTER</code></strong> (<span class="type"><a href="language.types.integer.html" class="type integer">integer</a></span>) </dt> <dd> <span class="simpara"> Enter into new op_array without recursion </span> </dd> <dt id="constant.zend-user-opcode-leave"> <strong><code>ZEND_USER_OPCODE_LEAVE</code></strong> (<span class="type"><a href="language.types.integer.html" class="type integer">integer</a></span>) </dt> <dd> <span class="simpara"> Return to calling op_array within the same executor </span> </dd> <dt id="constant.zend-user-opcode-dispatch"> <strong><code>ZEND_USER_OPCODE_DISPATCH</code></strong> (<span class="type"><a href="language.types.integer.html" class="type integer">integer</a></span>) </dt> <dd> <span class="simpara"> Dispatch to original opcode handler </span> </dd> <dt id="constant.zend-user-opcode-dispatch-to"> <strong><code>ZEND_USER_OPCODE_DISPATCH_TO</code></strong> (<span class="type"><a href="language.types.integer.html" class="type integer">integer</a></span>) </dt> <dd> <span class="simpara"> Dispatch to a specific handler (OR'd with ZEND opcode constant) </span> </dd> <dt id="constant.zend-user-opcode-return"> <strong><code>ZEND_USER_OPCODE_RETURN</code></strong> (<span class="type"><a href="language.types.integer.html" class="type integer">integer</a></span>) </dt> <dd> <span class="simpara"> Exit from executor (return from function) </span> </dd> </dl> </p> <p class="para"> The following modifiers are registered as constants by uopz </p> <p class="para"> <dl> <dt id="constant.zend-acc-public"> <strong><code>ZEND_ACC_PUBLIC</code></strong> (<span class="type"><a href="language.types.integer.html" class="type integer">integer</a></span>) </dt> <dd> <span class="simpara"> Mark function as public, the default </span> </dd> <dt id="constant.zend-acc-protected"> <strong><code>ZEND_ACC_PROTECTED</code></strong> (<span class="type"><a href="language.types.integer.html" class="type integer">integer</a></span>) </dt> <dd> <span class="simpara"> Mark function as protected </span> </dd> <dt id="constant.zend-acc-private"> <strong><code>ZEND_ACC_PRIVATE</code></strong> (<span class="type"><a href="language.types.integer.html" class="type integer">integer</a></span>) </dt> <dd> <span class="simpara"> Mark function as private </span> </dd> <dt id="constant.zend-acc-static"> <strong><code>ZEND_ACC_STATIC</code></strong> (<span class="type"><a href="language.types.integer.html" class="type integer">integer</a></span>) </dt> <dd> <span class="simpara"> Mark function as static </span> </dd> <dt id="constant.zend-acc-final"> <strong><code>ZEND_ACC_FINAL</code></strong> (<span class="type"><a href="language.types.integer.html" class="type integer">integer</a></span>) </dt> <dd> <span class="simpara"> Mark function as final </span> </dd> <dt id="constant.zend-acc-abstract"> <strong><code>ZEND_ACC_ABSTRACT</code></strong> (<span class="type"><a href="language.types.integer.html" class="type integer">integer</a></span>) </dt> <dd> <span class="simpara"> Mark function as abstract </span> </dd> <dt id="constant.zend-acc-class"> <strong><code>ZEND_ACC_CLASS</code></strong> (<span class="type"><a href="language.types.integer.html" class="type integer">integer</a></span>) </dt> <dd> <span class="simpara"> Dummy registered for consistency, the default kind of class entry </span> </dd> <dt id="constant.zend-acc-interface"> <strong><code>ZEND_ACC_INTERFACE</code></strong> (<span class="type"><a href="language.types.integer.html" class="type integer">integer</a></span>) </dt> <dd> <span class="simpara"> Mark class as interface </span> </dd> <dt id="constant.zend-acc-trait"> <strong><code>ZEND_ACC_TRAIT</code></strong> (<span class="type"><a href="language.types.integer.html" class="type integer">integer</a></span>) </dt> <dd> <span class="simpara"> Mark class as trait </span> </dd> <dt id="constant.zend-acc-fetch"> <strong><code>ZEND_ACC_FETCH</code></strong> (<span class="type"><a href="language.types.integer.html" class="type integer">integer</a></span>) </dt> <dd> <span class="simpara"> Used for getting flags only </span> </dd> </dl> </p> </div> <hr /><div class="manualnavbar" style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="uopz.resources.html">Resource Types</a></div> <div class="next" style="text-align: right; float: right;"><a href="ref.uopz.html">Uopz Functions</a></div> <div class="up"><a href="book.uopz.html">uopz</a></div> <div class="home"><a href="index.html">PHP Manual</a></div> </div></body></html>