技术开发 频道

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

分析类

    如果没有具体的代码,那么很难演示具有意义的分析,下面这个示例是十分典型的代码,展示了从中所能获得的信息。清单 7 显示了一个装配玩具火箭的应用程序(人为设计)。这种玩具火箭由几个部分组成,生产每一个部分都需要一定的时间。在 PHP 中,使用类代表每个组成部分,使用实例方法表示每个部分的构造时间。您可以将这个玩具看作是一个应用程序,并把每个部分看作是该应用程序的功能。

清单 7. 模拟玩具装配的一组 PHP 类
<?php define( 'BOOSTER', 5 ); define( 'CAPSULE', 2 ); define( 'MINUTE', 60 ); define( 'STAGE', 3 ); define( 'PRODUCTION', 1000 ); class Part { function Part() { $this->build( MINUTE ); } function build( $delay = 0 ) { if ( $delay <= 0 ) return; while ( $delay-- > 0 ) { } } } class Capsule extends Part { function Capsule() { parent::Part(); $this->build( CAPSULE * MINUTE ); } } class Booster extends Part { function Booster() { parent::Part(); $this->build( BOOSTER * MINUTE ); } } class Stage extends Part { function Stage() { parent::Part(); $this->build( STAGE * MINUTE ); } } class SpaceShip { var $booster; var $capsule; var $stages; function SpaceShip( $numberStages = 3 ) { $this->booster = new Booster(); $this->capsule = new Capsule(); $this->stages = array(); while ( $numberStages-- >= 0 ) { $stages[$numberStages] = new Stage(); } } } $toys = array(); $count = PRODUCTION; while ( $count-- >= 0 ) { $toys[] = new SpaceShip( 2 ); } ?> <html> <head> <title> Toy Factory Output </title> </head> <body> <h1>Toy Production</h1> <p>Built <? echo PRODUCTION . ' toys' ?></p> </body> </html>
0
相关文章