您当时的方位:主页 > 言语编程 > PHP

PHP运用程序的功能优化

2014-08-18  www.codeforacause.net
  运用PHP编程的最大优点是学习这种编程言语十分简略以及其丰厚的库。即便对需求运用的函数不是十分了解,咱们也能够猜测出怎么完结一个特定的使命。

  虽然PHP十分简略易学,但咱们依然需求花费一点时刻来学习PHP的一些编程技巧,尤其是与功能和内存占用相关的技巧。在PHP中,有许多小技巧能够使咱们削减内存的占用,并进步运用程序的功能。在本篇文章中,咱们将对PHP运用程序的剖析、怎么改动脚本代码以及比较优化前后的各种参数值进行扼要的介绍。

  经过在程序中设置计时的程序,并重复履行这些代码,咱们能够取得有关程序履行速度的一组数据,这些数据能够能够用来发现程序中的瓶颈,以及怎么进行优化,进步运用程序的功能。

  或许读者从前听说过PEAR库吧。咱们将运用PEAR库创建在剖析时需求运用的比如,这也是对现有的代码进行剖析的最简略的办法,它使咱们无需运用商用产品就能对代码进行剖析。

  咱们要运用的库的姓名是PEAR::Benchmark,它关于对代码进行剖析和功能测验十分有用。这个库供给一个姓名为Benchmark_Timer()的类,能够记载一个函数调用和下一个函数调用之间的时刻。在对代码的功能进行测验时,咱们能够得到一个具体的脚本履行成果,它十分简略,如下所示:

  include_once("Benchmark/Timer.php");



  $bench = new Benchmark_Timer;

  $bench->start();



  $bench->setMarker('Start of the script');

  // 现在处于睡觉状况几分钟



  sleep(5);



  $bench->stop();

  // 从计时器中取得剖析信息



  print_r($bench->getProfiling());



  

  上面代码履行后的输出如下所示:

  Array



  (



  [0] => Array



  (



  [name] => Start



  [time] => 1013214253.05751200



  [diff] => -



  [total] => 0



  )





  [1] => Array



  (



  [name] => Start of the script



  [time] => 1013214253.05761100



  [diff] => 9.8943710327148E-05



  [total] => 9.8943710327148E-05



  )





  [2] => Array



  (



  [name] => Sto



  [time] => 1013214258.04920700



  [diff] => 4.9915959835052



  [total] => 4.9916949272156



  )



  )



  上面的数字似乎是一组乱七八糟的数字,但假如程序的规划更大,这些数字就十分地有用了。

  或许广大读者也能猜测到,数组的第一个表目是实践调用Benchmark_Timer()类的办法,例如



    $bench->start()、$bench->setMarker()和$bench->stop(),与这些表目有关的数字是适当简略的,现在咱们来细心地研讨这些数字:

  [0] => Array

  (

  [name] => Start

  [time] => 1013214253.05751200

  [diff] => -

  [total] => 0

  )

  time表目指的是何时对Benchmark_Timer()的start()办法调用的UNIX的timestamp,diff表目表明这次调用和前次调用之间的时刻距离,因为这儿没有上一次,因而显现出了一个破折号,total表目指的是自测验开端到这一特定的调用之前代码运转的总的时刻。下面咱们来看看下一个数组的输出:



  (未完)