CodeIgniter标杆管理


设置基准点

如果您想测量执行一组行或内存使用所花费的时间,可以使用CodeIgniter中的基准点计算它。在CodeIgniter中有一个单独的“ Benchmarking ”类。

这个类自动加载; 你不必加载它。它可以在控制器,视图和模型类的任何地方使用。你所要做的就是标记一个起点和终点,然后在这两个标记点之间执行 elapsed_time() 函数,你可以得到执行该代码所花费的时间,如下所示。

<?php
   $this->benchmark->mark('code_start');

   // Some code happens here  

   $this->benchmark->mark('code_end');

   echo $this->benchmark->elapsed_time('code_start', 'code_end');
?>

要显示内存使用情况,请使用函数 memory_usage() ,如以下代码所示。

<?php
   echo $this->benchmark->memory_usage();
?>

创建一个名为 Profiler_controller.php 的控制器并将其保存在 application / controller / Profiler_controller.php中

<?php
   class Profiler_controller extends CI_Controller {

      public function index() {

         //enable profiler
         $this->output->enable_profiler(TRUE);
         $this->load->view('test');
      }

      public function disable() {

         //disable profiler
         $this->output->enable_profiler(FALSE);
         $this->load->view('test');
      }

   }
?>

创建一个名为 test.php 的视图文件并将其保存在 application / views / test.php

<!DOCTYPE html>
<html lang = "en">

   <head>
      <meta charset = "utf-8">
      <title>CodeIgniter View Example</title>
   </head>

   <body>
      CodeIgniter View Example
   </body>

</html>

更改 application / config / routes.php 中 的routes.php文件,为上述控制器添加路由,并在文件末尾添加以下行。

$route['profiler'] = "Profiler_controller";
$route['profiler/disable'] = "Profiler_controller/disable"

之后,您可以在浏览器的地址栏中输入以下URL来执行示例。

http://yoursite.com/index.php/profiler

上面的URL将启用分析器,它将生成一个输出,如以下屏幕截图所示。

查看示例

要禁用分析,请执行以下URL。

http://yoursite.com/index.php/profiler/disable