《性感的 PHP——现代化 PHP 开发》PPT 分享
原文链接:https://www.tanteng.me/page/modern-php
说好的把这次技术分享的 PPT 发出来的,一直没时间弄,现在整理了一下,并导出了一份 PDF 版的 PPT,给大家参考。(PS:本次技术分享仅仅是介绍一些关于现代化 PHP 开发的技术,并不是讲某个方面的高深技术和经验,即便如此,针对目前的 PHP 现状,很多项目,公司和开发者,还在使用过时的 PHP 技术,这个分享还是有价值的)。
本次技术分享主要讲了一些现代化 PHP 开发的技术,PPT 重点介绍了命名空间,闭包,匿名函数,Traits 这些新特性,以及介绍了 Composer 依赖包管理器和 PSR 规范。
主要内容
PHP 正在重生。作为一门专注WEB开发的语言,它不断吸取其他语言的优点,如命名空间,闭包,性状,操作码缓存等特性,PSR 规范和Composer 包管理以及 PHP 7 的性能提升,PHP 正在变成一门现代化的语言,让我们一起聊聊 PHP 有哪些新的变化!
- 命名空间
- PSR规范
- 闭包和匿名函数
- Trait
- Composer包管理器
- 语法新特性
- PHP 7性能
- Laravel框架介绍
全面的PHP技术堆栈图
我们先来回顾一下 WEB 开发所用到的技术和工具,这里的PHP可以替换为 Python,Java,.NET 等其他语言,因为 PHP 只是一门语言,而WEB开发的本质是一样的。我们的重点是掌握PHP本身,和它密切相关的如 MySQL,Nginx/Apache,Linux,前端方面至少熟悉 jQuery, css 等,但是当项目规模越来越大,并发量越来越高,我们就要用到 Redis,Memcache 等缓存技术,总之,我们要学的东西越来越多,才能满足高性能的 WEB 开发。这里只是列举了比较常用的技术和工具,欢迎大家进行补充。
命名空间
PHP一个重要的改变,就是引入了命名空间。命名空间是使PHP成为一门现代语言的重要特性,它不仅解决了第三方扩展包的类命名冲突的问题,还提供了良好的代码组织的方式,并且通过它进行自动加载。
如 PHP 手册里所描述,命名空间好比操作系统中的目录,两个同名的文件可以共存在不同的目录下。同理两个同名的 PHP 类可以在不同的 PHP 命名空间下共存,就这么简单。
因此把你的代码放在你的命名空间下就非常重要,避免其他开发者担心与第三方类库冲突。
PSR 规范
PSR 是 PHP Standard Recommendations 的简写,由 PHP FIG 组织制定的 PHP 规范,是 PHP 开发的实践标准。
PHP FIG,FIG 是 Framework Interoperability Group(框架可互用性小组)的缩写,由几位开源框架的开发者成立于 2009 年,从那开始也选取了很多其他成员进来(包括但不限于 Laravel, Joomla, Drupal, Composer, Phalcon, Slim, Symfony, Zend Framework 等),虽然不是「官方」组织,但也代表了大部分的 PHP 社区。
项目的目的在于:通过框架作者或者框架的代表之间讨论,以最低程度的限制,制定一个协作标准,各个框架遵循统一的编码规范,避免各家自行发展的风格阻碍了 PHP 的发展,解决这个程序设计师由来已久的困扰。 自动加载规范非常重要,PHP 组件都遵循自动加载规范,才能通过 Composer 进行管理。
Composer包管理器
Node.js 有 npm ,Python 有 pip,现在 PHP 有了 Composer,Composer 是 PHP 的一个包(PHP 组件)管理器,这些组件遵循 PSR 规范,因此可以快速应用到你的项目中,而且可以开源共同维护。
PHP组件具备以下特点
- 作用单一:专注于解决一个问题,而且使用简单的接口封装功能
- 小型:小巧玲珑,只包含解决某个问题所需的最少代码
- 合作:PHP组件之间可以良好合作,组合在一起实现大型项目
- 测试良好:本身提供测试,而且有充足的测试覆盖度
- 文档完善:应该提供完善的文档,能让开发者轻易安装、理解和使用
PHP 新语法
PHP 5.6 —— PHP 7 提供了很多新的语法和特性,如闭包和匿名函数,Traits,运算符简写方式,数组简写方式,类型约束等等。
学习现代化 PHP 开发的最好方式
学习现代化 PHP 开发的最好方式是学习现代化的开发框架,如 Laravel,这些新的 PHP 概念和语法,以及 Composer,都在框架中广泛使用,并且还可以学习到很多有关设计模式的知识。
PHP 正在重生。 这句话是对目前发展的最好诠释。
ppt好棒
很棒!已收藏~
做的很用心 :+1:
学习了!谢谢~
学习一下
正好要在公司做分享,我写了份Markdown的,看来和你这个差不多,这下不用写PPT了,感谢。
链接打不开有木有
@Zachary 可以打开啊
:thumbsup:
终于分享出来了
Trait 的使用那张例子里面类少了 use SoftDeletes 吧?
@oustn 是的,少了 use
别忘了加上一句PHP是世界上最好的语言:bowtie:
@JobsLong PHP正在重生,但是有很多有老又顽固的“经验老道”的PHP程序员不想改变,阻碍重生。