一起源码网

  • QingYuanMa.com
  • 全球最大的互联网技术和资源下载平台
搜索
猜你喜欢
查看: 6104|回复: 1
打印 上一主题 下一主题

PHP:declare的用法详解

[复制链接]

0

主题

0

帖子

1万

积分

钻石会员

Rank: 8Rank: 8

积分
17424
QQ
跳转到指定楼层
楼主
发表于 2020-3-4 00:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
declare 结构用来设定一段代码的执行指令。declare 的语法和其它流程控制结构相似:

declare (directive)
statement

directive 部分允许设定 declare 代码段的行为。目前只认识两个指令:ticks(更多信息见下面 ticks 指令)以及encoding(更多信息见下面 encoding 指令)。

Note: encoding 是 PHP 5.3.0 新增指令。

declare 代码段中的 statement 部分将被执行——怎样执行以及执行中有什么副作用出现取决于 directive 中设定的指令。

declare 结构也可用于全局范围,影响到其后的所有代码(但如果有 declare 结构的文件被其它文件包含,则对包含它的父文件不起作用)。

<? 
    declare (ticks = 1); //这句这么写表示全局的脚本都做处理
    function foo() { //注册的函数
        static $no;
        $no++;
        echo $no."======";
        echo microtime()."
";
    } 
    register_tick_function("foo"); //注册函数,后面可以跟第2个参数,表示函数的参数
    $a = 1;
    for($i=0;$i<5;$i++) { //这里的循环也是语句,会做一次判断$i<5的判断执行
        $b = 1;
    }
    ?>

declare 调试内部程序使用.
先简单说明,declare这个函数只支持一个参数就是ticks,函数表示记录程序块,需配合register_tick_function 函数使用。ticks参数表示运行多少语句调用一次register_tick_function的函数。并且declare支持两种写法:
1. declare(ticks = 1); 整个脚本
2. declare(ticks = 1) { 内部的代码做记录

}

上述代码除了 函数体内,外部都会被执行,运行可以看执行次数和时间. 他跟适合做测试代码段中每一步分的执行时间 和执行次数.

declare 必须是全局的,放在程序外部.
tick 代表一个,事件的定义是在register_tick_function;事件的执行频率是在(ticks=3)。
表示事件频率是执行3个才记录一次. microtime() 的打印时间.

分享到:  QQ好友和群QQ好友和群
收藏收藏
回复

使用道具 举报

0

主题

19

帖子

61

积分

注册会员

Rank: 2

积分
61
沙发
发表于 2022-7-7 21:42 | 只看该作者
源代码国语百度云
回复

使用道具 举报

轻源码让程序更轻更快

QingYuanMa.com

工作时间 周一至周六 8:00-17:30

侵权处理

客服QQ点击咨询

关注抖音号

定期抽VIP

Copyright © 2016-2021 https://www.171739.xyz/ 滇ICP备13200218号

快速回复 返回顶部 返回列表