Upload
scourgen-hong
View
1.110
Download
7
Embed Size (px)
DESCRIPTION
近几年来国外PHP领域的变革可谓是日新月异,各种工具、框架和标准层出不穷,网站的架构和开发模式都在不断的进行着优化和升级,PHP社区通过努力和协作,正在慢慢夺回被其他语言所夺去的领地,变得酷起来,而你的网站是否还是N年前的那个老样子,是否依然使用着老旧的架构和框架?当你面对需求变化时,是否能够在积极响应需求的同时保持较高的性能?在本次分享中,洪涛将会介绍PHP领域中一些新的能够提高生产力的工具,包括依赖包管理、开发框架、以及部署和监控等等方面,同时洪涛也会介绍一些他在进行项目架构升级时遇到的挑战和经验。通过这些工具和经验,将会使你的PHP项目焕然一新,重装上阵。
Citation preview
PHP重装上阵
PHP不酷了
国内 PHP社区的现状•现状:•缺少公认的标准和规范•缺乏协作氛围、大家都在自己造轮子
•所以导致了:•发展活力低于其他编程语言•开发方式、框架等落后于其他语言
我们该怎么办?
PHP重装上阵
从这 4个方面说起
•代码组织和规划•开发•调试•日志及监控
1.代码组织和规划
•代码文件该如何组织?•该如何维护第三方依赖包?
2个标准, 1个实现
•Namespace
•PSR-0
•Composer
大量著名的第三方软件已经支持Composer
版本 /软件包总数
软件包安装总量(每月)
2.开发框架
开发框架通常会有的问题
•版本维护不及时•第三方插件少•社区不活跃•文档少•性能差•能否支持项目的持续发展?
什么是项目的持续发展?
•项目发展初期•迅速搭建产品原型
•项目发展中期•支持产品需求的不断变化
•项目发展后期•方便地进行性能优化
两个比较有特色的功能
Annotation
•我们写了多少业务逻辑之外的代码?•Annotation功能使你专注在你的业务逻辑上,除此之外的一切都可以用配置的方式去实现
Service
•规范化、集中化创建并管理对象的一种方式
3个能够加快开发速度的Bundle
使用 FOSUserBundle快速搭建你的用户管理系统
使用 NelmioApiDocBundle快速开发API接口
使用 SonataAdminBundle自动生成后台管理系统
3.调试工具
Ladybug
Ladybug
Symfony Debug Tool Bar
4.日志及监控工具
如何更好地写日志 ?
Monolog
•4个模块
•Handlers
•Formatters
•Processors
•Utilities
推荐 2个Monolog的功能
•FingersCrossedHandler
•This provides you with all the information you need, but only when you need it.
•ChromePHPFormatter
•在 Chrome的 Console里输出日志
总结
•代码组织和规划•开发•调试•日志及监控
一些额外的工具•Vagrant
•Capistrano/Capifony
•Log.io
•React
•Phalcon
•Zephir
Vagrant
Capistrano/Capifony
Log.io
React
Phalcon
Zephir
PHP重装上阵
Q&A