43
PHP 重重重重

Php重装上阵

Embed Size (px)

DESCRIPTION

近几年来国外PHP领域的变革可谓是日新月异,各种工具、框架和标准层出不穷,网站的架构和开发模式都在不断的进行着优化和升级,PHP社区通过努力和协作,正在慢慢夺回被其他语言所夺去的领地,变得酷起来,而你的网站是否还是N年前的那个老样子,是否依然使用着老旧的架构和框架?当你面对需求变化时,是否能够在积极响应需求的同时保持较高的性能?在本次分享中,洪涛将会介绍PHP领域中一些新的能够提高生产力的工具,包括依赖包管理、开发框架、以及部署和监控等等方面,同时洪涛也会介绍一些他在进行项目架构升级时遇到的挑战和经验。通过这些工具和经验,将会使你的PHP项目焕然一新,重装上阵。

Citation preview

Page 1: Php重装上阵

PHP重装上阵

Page 2: Php重装上阵
Page 3: Php重装上阵

PHP不酷了

Page 4: Php重装上阵

国内 PHP社区的现状•现状:•缺少公认的标准和规范•缺乏协作氛围、大家都在自己造轮子

•所以导致了:•发展活力低于其他编程语言•开发方式、框架等落后于其他语言

Page 5: Php重装上阵

我们该怎么办?

Page 6: Php重装上阵

PHP重装上阵

Page 7: Php重装上阵

从这 4个方面说起

•代码组织和规划•开发•调试•日志及监控

Page 8: Php重装上阵

1.代码组织和规划

•代码文件该如何组织?•该如何维护第三方依赖包?

Page 9: Php重装上阵

2个标准, 1个实现

•Namespace

•PSR-0

•Composer

Page 10: Php重装上阵

大量著名的第三方软件已经支持Composer

Page 11: Php重装上阵

版本 /软件包总数

软件包安装总量(每月)

Page 12: Php重装上阵

2.开发框架

Page 13: Php重装上阵

开发框架通常会有的问题

•版本维护不及时•第三方插件少•社区不活跃•文档少•性能差•能否支持项目的持续发展?

Page 14: Php重装上阵

什么是项目的持续发展?

•项目发展初期•迅速搭建产品原型

•项目发展中期•支持产品需求的不断变化

•项目发展后期•方便地进行性能优化

Page 15: Php重装上阵

两个比较有特色的功能

Page 16: Php重装上阵

Annotation

•我们写了多少业务逻辑之外的代码?•Annotation功能使你专注在你的业务逻辑上,除此之外的一切都可以用配置的方式去实现

Page 17: Php重装上阵
Page 18: Php重装上阵

Service

•规范化、集中化创建并管理对象的一种方式

Page 19: Php重装上阵

3个能够加快开发速度的Bundle

Page 20: Php重装上阵

使用 FOSUserBundle快速搭建你的用户管理系统

Page 21: Php重装上阵

使用 NelmioApiDocBundle快速开发API接口

Page 22: Php重装上阵

使用 SonataAdminBundle自动生成后台管理系统

Page 23: Php重装上阵

3.调试工具

Page 24: Php重装上阵
Page 25: Php重装上阵

Ladybug

Page 26: Php重装上阵

Ladybug

Page 27: Php重装上阵

Symfony Debug Tool Bar

Page 28: Php重装上阵
Page 29: Php重装上阵
Page 30: Php重装上阵

4.日志及监控工具

Page 31: Php重装上阵

如何更好地写日志 ?

Page 32: Php重装上阵

Monolog

•4个模块

•Handlers

•Formatters

•Processors

•Utilities

Page 33: Php重装上阵

推荐 2个Monolog的功能

•FingersCrossedHandler

•This provides you with all the information you need, but only when you need it.

•ChromePHPFormatter

•在 Chrome的 Console里输出日志

Page 34: Php重装上阵

总结

•代码组织和规划•开发•调试•日志及监控

Page 35: Php重装上阵

一些额外的工具•Vagrant

•Capistrano/Capifony

•Log.io

•React

•Phalcon

•Zephir

Page 36: Php重装上阵

Vagrant

Page 37: Php重装上阵

Capistrano/Capifony

Page 38: Php重装上阵

Log.io

Page 39: Php重装上阵

React

Page 40: Php重装上阵

Phalcon

Page 41: Php重装上阵

Zephir

Page 42: Php重装上阵

PHP重装上阵

Page 43: Php重装上阵

Q&A