declare究竟是什么

清晰易懂的大神原著
declare属于流程控制,只认识ticks和encoding,encoding很好理解(当前代码块的编码方式),这里主要说ticks:
declare(ticks=N),即执行N条低级语句是发生的事件,由register_tick_function() 指定执行,参数为字符串函数名(不要()的那种,‘func’)或者对象(array(&$obj,method),true)
statement是指:
(1) 简单语句:空语句(就一个;号),return,break,continue,throw,goto,global,static,unset,echo, 内置的HTML文本,分号结束的表达式等均算一个语句。
(2)复合语句:完整的if/elseif,while,do…while,for,foreach,switch,try…catch等算一个语句。
(3) 语句块:{} 括出来的语句块。
(4) 最后特别的:declare块本身也算一个语句(按道理declare块也算是复合语句,但此处特意将其独立出来)。

所有的statement, function_declare_statement, class_declare_statement就构成了所谓的低级语句(low-level statement)。

    declare(ticks=1);//declare本身,1

    function tisk_declare(){//函数声明,2
        echo "this is declare<br>";//测试好一阵发现函数内部的简单语句是不会触发tick的
    }
    register_tick_function('tisk_declare');

    $a=1;//分号结束表达式,3
    if($a>0){
        $a+=2;
        echo $a;//echo,4
    }//复合语句if,5,复合语句是在其结束时触发

    class D{}//class_declare_statement类声明或者接口,6
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值