技术开发 频道

分析PHP应用程序以查找、诊断和加速运行缓慢的代码

使用分析器

    要分析代码,只需将浏览器指向 PHP 应用程序即可。如果您将分析器设置为对每个触发逐个解决的方式,将 XDEBUG_PROFILE=1 追加到 URL 中,或者,像下面一样,将参数嵌入到表单中。

    作为一个示例,我们来分析一下这个简单的 ACME Fibonacci Maker,fibonacci.php,如清单 5 所示。为方便起见,将 XDEBUG_PROFILE 参数设置在表单的隐藏变量内。(当代码投入生产时,很可能将禁用 Xdebug,呈现这个变量将不会造成什么损失。)

清单 5. Fibonacci.php

<?php function fib($nth = 1) { if ( $nth < 2 ) { return( $nth ); } return( fib( $nth - 1) + fib( $nth - 2 ) ); } ?> <html> <head> <title>ACME Fibonacci Maker</title> </head> <body> <h2>Try the ACME Fibonacci Maker!</h2> <form action="fibonacci.php" method="POST"> <input type="hidden" name="XDEBUG_PROFILE" value="1" /> Enter a number: <input type="text" name="n"></input> </form> <hr /> <?php if ( ! empty( $_REQUEST['n'] ) ) { $n = $_REQUEST['n'] % 10; $suffix = array( 1 => "st", 2 => "nd", 3 => "rd" ); if ( $_REQUEST['n'] < 4 || $_REQUEST['n'] > 20 ) { $suffix = $suffix[$n]; } else { $suffix = 'th'; } echo '<p>The ' . $_REQUEST['n'] . $suffix .' Fibonacci number is '; echo fib( $_REQUEST['n'] ) . '</p>'; } ?> </body> </html>
0
相关文章