今天看php手册,结构流程控制语句,翻到个没见过的关键字declare(申明的意思)。于是稍稍看了下。

大概意思是:定义一段代码。关于他合适执行,怎么执行完全依照他的参数。

反正不知道什么意思。先来一段实例代码

 <?php
// Print "tick" with a timestamp and optional suffix.
function do_tick($str = '') {
list($sec, $usec) = explode(' ', microtime());
printf("[%.4f] Tick.%s\n", $sec + $usec, $str);
}
register_tick_function('do_tick'); // Tick once before declaring so we have a point of reference.
do_tick('--start--'); // Method 2
declare(ticks=1) {
while(1) sleep(1);
} /* Output:
[1234544471.6486] Tick.--start--
[1234544472.6489] Tick.
[1234544473.6490] Tick.
[1234544474.6492] Tick.
[1234544475.6493] Tick.
*/
?>

每每执行declare statement里面的 tick步就会调用已经注册的function一次。用来跟踪变量,跟踪时间,跟踪内存使用,监测连接断开等等,应该都是非常合适的。

备注:ticks代表步长;

另外对于declare来说还有另外一个参数是 encoding 暂时没懂怎么用,评论上都没提,好像是一个新的属性之类的

另外php 支持goto语句,和c语言一样的写法

PHP - declare tick的更多相关文章

  1. Swoole 协程与 Go 协程的区别

    Swoole 协程与 Go 协程的区别 进程.线程.协程的概念 进程是什么? 进程就是应用程序的启动实例. 例如:打开一个软件,就是开启了一个进程. 进程拥有代码和打开的文件资源,数据资源,独立的内存 ...

  2. PHP declare(ticks=N); 的作用

    一般用法是 declare(ticks=N);拿declare(ticks=1)来说,这句主要作用有两种: 1.Zend引擎每执行1条低级语句就去执行一次 register_tick_function ...

  3. (转载)PHP源代码分析- tick(s)

    (转载)http://bbs.phpchina.com/forum.php?mod=viewthread&tid=94534 昨天有位朋友在杭州的PHPer群里面贴出了下面的一段代码并给出了运 ...

  4. php declare (ticks = N)

    A tick is an event that occurs for every N low-level tickable statements executed by the parser with ...

  5. 关于Storm tick

    关于Storm tick 1. tick的功能 Apache Storm中内置了一种定时机制——tick,它能够让任何bolt的所有task每隔一段时间(精确到秒级,用户可以自定义)收到一个来自__s ...

  6. mysql substring函数截取值后赋给一个declare变量

    今天写的一个mysql存储过程涉及到对一个传入参数的字符串截取,然后需要判断截取字符串进行一系列操作,最开始用select  subtring() into 这样的方法将截取值赋于declare变量直 ...

  7. 关于Django 错误 doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS

    记录一下 报错 doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS\ 这个问题出现没 ...

  8. STM32F10xxx 之 System tick Timer(SYSTICK Timer)

    背景 研究STM32F10xxx定时器的时候,无意间看到了System tick Timer,于是比较深入的了解下,在此做个记录. 正文 System tick Timer是Cotex-M内核的24位 ...

  9. 进入OS前的两步之System tick

    OK,继续向操作系统迈进.由简入繁,先实现两个小功能.第一个是system tick,第二个是任务切换(PendSV).一个是操作系统的心跳,一个是操作系统的并发处理的具体实现. System tic ...

随机推荐

  1. BZOJ1336 Balkan2002 Alien最小圆覆盖 【随机增量法】*

    BZOJ1336 Balkan2002 Alien最小圆覆盖 Description 给出N个点,让你画一个最小的包含所有点的圆. Input 先给出点的个数N,2<=N<=100000, ...

  2. java获取服务器的ip和地址

    HttpServletRequest httpRequest=(HttpServletRequest)request; String strBackUrl = "http://" ...

  3. Nginx——Nginx概述(一)

    1.什么是Nginx? Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行.其特点是占有内存少,并发能力强,事实上n ...

  4. 【DUBBO】 Dubbo内核实现之动态编译

    转载:http://blog.csdn.net/quhongwei_zhanqiu/article/details/41577483 我们运行的java代码,一般都是编译之后的字节码.Dubbo为了实 ...

  5. postcss gulp 安装使用

    备注:    测试使用的是gulp 进行的编译 1. 项目初始化 npm init mkdir src touch app.css body{ display: flex; } 2. 安装(gulp ...

  6. MYSQL子查询例题以及答案

    More Subqueries Quizzes Above is the ERD for the database again - it might come in handy as you tack ...

  7. python+anaconda+pycharm工具包安装

    更新额外包 $ conda update conda 更新pip python -m pip install --upgrade pip 更新所有 conda update --all 安装ffmpe ...

  8. 生产环境LNMP (果图片)

    一. 下载一键安装包 LNMP   官方地址为:http://lnmp.org/ 登陆后运行:screen -S lnmp cd /usr/local/src wget -c http://soft. ...

  9. 手动封装OpenCV1.0的IplImage读取保存功能遇到的小问题

    最近准备重新学习图像处理的知识,主要目的是自己实现一遍图像处理的算法,所以除了读取.保存图像外的操作都自己写,没想到直接封装OpenCV的读取.保存功能的第一步就出错.关键代码如下 void MyIm ...

  10. JS Data 对象 成员方法

    var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取完整的年份(4位,1970-???? ...