Overview

Packages

  • View
    • Helper

Classes

  • Horde_View_Helper_Base
  • Horde_View_Helper_Benchmark
  • Horde_View_Helper_Benchmark_Timer
  • Horde_View_Helper_Block
  • Horde_View_Helper_Capture
  • Horde_View_Helper_Capture_Base
  • Horde_View_Helper_Capture_ContentFor
  • Horde_View_Helper_Date
  • Horde_View_Helper_Debug
  • Horde_View_Helper_Form
  • Horde_View_Helper_Form_Builder
  • Horde_View_Helper_Form_InstanceTag_Base
  • Horde_View_Helper_Form_InstanceTag_Form
  • Horde_View_Helper_FormTag
  • Horde_View_Helper_Javascript
  • Horde_View_Helper_Number
  • Horde_View_Helper_Tag
  • Horde_View_Helper_Text
  • Horde_View_Helper_Text_Cycle
  • Horde_View_Helper_Url
  • Overview
  • Package
  • Class
  • Tree
 1: <?php
 2: /**
 3:  * Measures the execution time of a block in a template and reports the result
 4:  * to the log.
 5:  *
 6:  * Copyright 2007-2008 Maintainable Software, LLC
 7:  * Copyright 2006-2012 Horde LLC (http://www.horde.org/)
 8:  *
 9:  * @author     Mike Naberezny <mike@maintainable.com>
10:  * @author     Derek DeVries <derek@maintainable.com>
11:  * @author     Chuck Hagenbuch <chuck@horde.org>
12:  * @license    http://www.horde.org/licenses/bsd
13:  * @category   Horde
14:  * @package    View
15:  * @subpackage Helper
16:  */
17: 
18: /**
19:  * Measures the execution time of a block in a template and reports the result
20:  * to the log.
21:  *
22:  * Example:
23:  *
24:  * <code>
25:  * <?php $bench = $this->benchmark('Notes section') ?>
26:  * <?php echo $this->expensiveNotesOperation() ?>
27:  * <?php $bench->end() ?>
28:  * </code>
29:  *
30:  * Will add something like "Notes section (0.34523)" to the log.
31:  *
32:  * You may give an optional logger level as the second argument ('debug',
33:  * 'info', 'warn', 'error').  The default is 'info'.  The level may also be
34:  * given as a Horde_Log::* constant.
35:  *
36:  * @author     Mike Naberezny <mike@maintainable.com>
37:  * @author     Derek DeVries <derek@maintainable.com>
38:  * @author     Chuck Hagenbuch <chuck@horde.org>
39:  * @license    http://www.horde.org/licenses/bsd
40:  * @category   Horde
41:  * @package    View
42:  * @subpackage Helper
43:  */
44: class Horde_View_Helper_Benchmark extends Horde_View_Helper_Base
45: {
46:     /**
47:      * Starts a new benchmark.
48:      *
49:      * @param string $message        Message to log after the benchmark has
50:      *                               ended.
51:      * @param string|integer $level  Log level to log after the benchmark has
52:      *                               ended.
53:      *
54:      * @return Horde_View_Helper_Benchmark_Timer  A benchmark timer object.
55:      */
56:     public function benchmark($message = 'Benchmarking', $level = 'info')
57:     {
58:         return new Horde_View_Helper_Benchmark_Timer($message, $level,
59:                                                      $this->_view->logger);
60:     }
61: }
62: 
API documentation generated by ApiGen