注意:这个问题有点长
我有一个基于 PHP 的系统,其Service-Dao-Model
结构如下:
Service Factory > Foo Service > Core Service > Abstract Service > Service Interface
Dao Factory > Foo Dao > Core Dao > Abstract Dao > Dao
Foo > Core Model > Abstract Model
让我一点一点地解释。我尝试首先通过在Abstract & Interface 类中定义抽象函数来集中代码,然后在Core Service、Core Dao 和 Core Model中实现默认行为。
然后,自定义函数编写在Foo Service、Foo Dao 和 Foo Model中。最后,Service Factory & Dao Factory负责在Factory Pattern中创建对象。
其他信息:所有类都log4php
附有对象__construct()
。
在目前的开发状态下,我在初始化阶段加载了大约 65 个 PHP 类。通过添加计时器(timed by microtime(true)
),我发现 PHP 在加载类时花费的时间最多(0.02119s),接下来是将 DB 结果集转换为对象值(0.00608s),最后是 DB 查询时间(0.00223s)。无法相信类加载时间是数据库查询时间的 10 倍!
问题:如何提高加载类的 PHP 初始化时间?
版本:PHP 5.2.16,通过 MySQLi PHP 扩展连接到 MySQL 5.1 localhost 服务器
更新eAccelerator 预装在共享主机中!Zend Engine v2.2.0 with eAccelerator v0.9.6.1
如果需要,可以共享 ps 代码。