9个PHP开发常用功能函数小结

2019-04-09 02:26:26丽君

  echo "User time: ".
  ($data['ru_utime.tv_sec'] +
  $data['ru_utime.tv_usec'] / 1000000);
  echo "System time: ".
  ($data['ru_stime.tv_sec'] +
  $data['ru_stime.tv_usec'] / 1000000);
  /* 输出
  User time: 0.011552
  System time: 0
  */
  sleep是不占用系统时间的,我们可以来看下面的一个例子:
  // loop 10 million times (busy)
  for($i=0;$i<10000000;$i++) {
  }
  $data = getrusage();
  echo "User time: ".
  ($data['ru_utime.tv_sec'] +
  $data['ru_utime.tv_usec'] / 1000000);
  echo "System time: ".
  ($data['ru_stime.tv_sec'] +
  $data['ru_stime.tv_usec'] / 1000000);
  /* 输出
  User time: 1.424592
  System time: 0.004204
  */

  这花了大约14秒的CPU时间,几乎所有的都是用户的时间,因为没有系统调用。
  系统时间是CPU花费在系统调用上的上执行内核指令的时间。下面是一个例子:

  $start = microtime(true);
  // keep calling microtime for about 3 seconds
  while(microtime(true) - $start < 3) {
  }
  $data = getrusage();
  echo "User time: ".
  ($data['ru_utime.tv_sec'] +
  $data['ru_utime.tv_usec'] / 1000000);
  echo "System time: ".
  ($data['ru_stime.tv_sec'] +
  $data['ru_stime.tv_usec'] / 1000000);
  /* prints
  User time: 1.088171
  System time: 1.675315
  */

  我们可以看到上面这个例子更耗CPU。
  5. 系统常量
  PHP 提供非常有用的系统常量 可以让你得到当前的行号 (__LINE__),文件 (__FILE__),目录 (__DIR__),函数名 (__FUNCTION__),类名(__CLASS__),方法名(__METHOD__) 和名字空间 (__NAMESPACE__),很像C语言。
  我们可以以为这些东西主要是用于调试,当也不一定,比如我们可以在include其它文件的时候使用?__FILE__ (当然,你也可以在 PHP 5.3以后使用 __DIR__ ),下面是一个例子。

// this is relative to the loaded script's path
  // it may cause problems when running scripts from different directories
  require_once('config/database.php');
  // this is always relative to this file's path
  // no matter where it was included from
  require_once(dirname(__FILE__) . '/config/database.php');
  下面是使用 __LINE__ 来输出一些debug的信息,这样有助于你调试程序:
  // some code
  // ...
  my_debug("some debug message", __LINE__);
  /* 输出
  Line 4: some debug message
  */
  // some more code
  // ...
  my_debug("another debug message", __LINE__);
  /* 输出
  Line 11: another debug message
  */
  function my_debug($msg, $line) {
  echo "Line $line: $msgn";
相关文章 大家在看