提高Zend Framework 2 性能 Autoloader Classmap
来源:互联网 发布:疯狂的美工破解版 编辑:程序博客网 时间:2024/04/27 16:52
http://solf.me/zend-framework-2-performance-tips/
公司的新站选用了Zend Framework 2,一切都进行得很顺利,但在线上测试的时候,用xdebug profile
一下,发现生产首页用了500毫秒,而无cache情况下产品页得生成也接近800毫秒。于是上网搜索,找到几个提高ZF2性能的几个tips。
Autoloader Classmap
使用classmap,就可以在初始化的时间返回一个‘类-文件’对应的array,从而加速加载类的速度。默认的类加载是使用StandardAutoloader
,正则表达式来将类名字转换成文件名再加载,试想一下每次加载都要跑一下性能不高的正则匹配,速度能有多快呢
这是默认的自动加载配置src/module/<app>/Module.php
1
2
3
4
5
6
7
8
9
10
11
12
13
public
function
getAutoloaderConfig()
{
return
array
(
'Zend\Loader\StandardAutoloader'
=>
array
(
'namespaces'
=>
array
(
__NAMESPACE__ => __DIR__ .
'/src/'
. __NAMESPACE__,
),
),
'Zend\Loader\ClassMapAutoloader'
=>
array
(
__DIR__ .
'/config/autoload_classmap.php'
,
),
);
}
将其修改成
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public
function
getAutoloaderConfig()
{
return
array
(
'Zend\Loader\ClassMapAutoloader'
=>
array
(
__DIR__ .
'/config/autoload_classmap.php'
,
),
'Zend\Loader\StandardAutoloader'
=>
array
(
'namespaces'
=>
array
(
__NAMESPACE__ => __DIR__ .
'/src/'
. __NAMESPACE__,
),
),
);
}
然后使用ZF2自带的命令行工具生成classmap文件
1
$ php zf2
/bin/classmap_generator
.php -l <your-zf2-app-location> -o <your-zf2-app-location>
/config
之后就会在app/config
目录下生成autoload_classmap.php
文件。
Template Map
和classmap类似,这个会将‘模板-文件’的对应关系变成一个array并返回,免去了转换的过程。
同理,运行如下命令
1
$ php zf2
/bin/templatemap_generator
.php -l -l <your-zf2-app-location> -o <your-zf2-app-location>
/config
这样,template_map.php
就会在app/config
下生成。然后,在app/config/module.config.php
的view_manager
下加上以下那句话
1
2
3
'view_manager'
=>
array
(
'template_map'
=>
include
__DIR__ .
'/template_map.php'
,
),
参考:ZF2 Performance QuickTipp #2 – Classmap Autoloading
0 0
- 提高Zend Framework 2 性能 Autoloader Classmap
- Zend Framework 项目性能优化
- zend framework入门2
- .NET Framework 如何:提高性能
- 用Zend OPCache提高PHP的性能
- zend framework php 小结2
- Zend Framework 1.11.2 发布
- Zend Framework 2 抢先体验
- Zend Framework 2 抢先体验
- zend framework 2 相关文章
- zend framework 2 前端过滤器
- zend Framework 2 bug 收集
- zend framework 2f安装
- zend framework
- Zend Framework
- Zend Framework
- zend framework,,,,,
- Zend frameWork
- ym——Android之常用Tools【介绍及使用】
- 字符串排序
- Console学生管理操作二(属性类 + 操作类)
- leetcode:Binary Tree Level Order Traversal 【队列与二叉树y】
- 阻塞和非阻塞read/write
- 提高Zend Framework 2 性能 Autoloader Classmap
- C# List中分组求和
- 2014年北京Itcast-最新PHP培训视频教程
- div中的相对定位与绝对定位(转)
- 开发攻城湿与测试攻城湿的对垒
- How to import Gradle project into eclipse .
- Android获取图片资源的4种方式
- Android之基于XMPP协议即时通讯软件(三)
- ldconfig命令与/etc/ld.so.conf的作用