一、搭建环境 二、PHP7新特性 A.OOP特性 1.类型声明
2.命名空间与use关键字批量声明
3.匿名类
4.Throwable接口
B.新的操作符 1.太空船操作符(<=>)
2.null合并运算符(??)
3.统一变量语法 C.其他特性和变更 1.常量数组:const STORES = ['en’, ’fr’, 'ar’]; php7:define(’STORES’,['en’, ’fr’, 'ar’]); 2.Switch中的多个default默认值,在php7中会产生Fatal级别的错误 3.Session_start函数中的选项数组:可以在调用session_start([...])传递参数选项数组,这些设置信息将覆盖php.ini中的session配置 4.Unserialize函数引入过滤器 三、PHP7应用性能提升 A.HTTP Server优化 1.缓存静态文件 2.HTTP持久链接:表示一条TCP/IP链接上承载着多个上下行请求 3.GZIP压缩 4.PHP独立部署服务 5.关闭不用的模块 B.内容分发网络(CDN) 1.CDN网络通常服务于媒体文件 C.CSS与JavaScript优化 1.合并:将所有CSS、JS文件进行合并 2.缩小:删除空行、注释和额外空格 3.Minify:是一组完全使用PHP编写的库,支持CSS、JavaScript文件的合并与缩小,代码是面向对象和命名空间的 4.Grunt:是一个JavaScript任务运行器,能够将某些重复的任务自动化,避免反复工作 5..全页缓存 6.Varnish:开源的Web应用程序加速器 D.基础设施 1.Web服务器 2.数据库服务器 3.负载均衡(LB)
四、提升数据库性能 A.MySQL 1.查询缓存
2.存储引擎
3.Percona Server - MySQL的fork
4.MySQL性能监控工具
B.Redis键值缓存存储 C.Memcached键值缓存存储 五、调试和分析 A.Xdebug 六、PHP应用的压力/负载测试 A.Apache JMeter B.ApacheBench(ab) C.Siege 七、PHP编程最佳实践 A.代码风格 1.类名中每个单词的首字母必须大写,左大括号应该在类名后新起一行,右大括号应该在类结束后新起一行 2.类的方法和函数命名应该是驼峰式的,参数和紧跟着的逗号之间不应有空格 3.命名空间的声明之后应该空一行 4.Visibility类的所有属性都应该明确指出其可见性并且属性名应该是驼峰式的 5.要是有abstract关键字的话,则一定是在class关键字之前 的,final关键字则应该在方法可见性之前,static关键字是在方法可见性之后的 6.所有PHP关键字都应该小写,包括true和false,常量应该都大写 7.对于所有控制结构语句,控制结构关键词后都应该有空格,表达 式和外面的括号之间不应该有空格, B.测试驱动开发 1.PHPUnit C.部署和持续集成(CI) 1.PHPCI 2.Jenkins 3.Travis CI https://github.com/zhangyue0503/php/tree/master/learningphp7highperformance/2 |
|