zoukankan      html  css  js  c++  java
  • php常量的实现

    1.php的常量 就是一个简单的标识符,脚本执行期间不会改变,大小写敏感,默认大写。

    常量的存储结构

    typedef struct _zend_constant {
        zval value;   //常量值
        zend_string *name; //常量名
        int flags;  //常量标识位
        int module_number; //所属扩展、模块
    } zend_constant;

       flag代表的含义 : CONST_CS: 大小写敏感

                                CONST_PERSISTENT: 持久化的(只有通过扩展、内核定义的才支持,这种常量不会在request结束时清理掉)

                                CONST_CT_SUBST: 允许编译时替换      (编译时如果发现有地方在读取常量的值,那么编译器会尝试直接替换为常量值-》TRUE、FALSE、NULL)

    常量的销毁   常量存储在EG(zend_constants)哈希表中,根据常量名直接查找hash表

                      非持久化常量在request请求结束时销毁,从哈希表末尾开始向前遍历EG(zend_constants),将非持久化常量删除,直到碰到第一个持久化常量时,停止遍历,正常情况下所有通过扩展定义的常量一定是在PHP中通过define定义之前。

                      持久化常量是在php_module_shutdown()阶段销毁的

             

  • 相关阅读:
    GlowFilter发光效果
    投影滤镜的使用
    flash怎样删除库中没用的元件
    script中用php
    jQuery animate实现slideUp slideDown 的反向
    CSS !important 用法
    放新浪微博的箭头css写法
    json 取数据
    css hack 大全
    bubble 界面代码
  • 原文地址:https://www.cnblogs.com/hellohell/p/9100724.html
Copyright © 2011-2022 走看看