php语言之所以能有今天的地位,得益于php语言设计者一直遵从实用主义,将技术的复杂性隐藏在底层。php语言入门简单,容易掌握,程序健壮性好,不容易出现像java 、 c++ 等其他语言那样复杂的问题,如内存泄漏和 crash,跟踪调试相对轻松很多。那么2018 php又会有哪些新的趋势呢?
php官 方提供的标准库非常强大,各种功能函数都能在官 方的标准库中找到,包括mysql、memcache、redis、gd图形库、curl、xml、json等等,免除了开发者到处找库的烦恼。php 的文档非常棒,每个函数都有详细的说明和使用示例。第三方类库和工具、代码、项目也很丰富。开发者可以、地使用php编写开发各类软件。
php7
php7版本对zend引擎做了大量修改,大幅提升了php语言的性能,使用php7可以使你的程序性能瞬间翻倍。即使是wordpress这样重量级的软件运行在php7都能有上千qps,相当于一台服务器每天就能处理8000万次请求。
使用php7,做好mysql优化,使用memcache和redis进行加速,这套技术架构完全可以应对相当大规模的系统。除了某些亿级用户的平台之外,一般规模的系统完全没有压力。
psr
psr是phpframework interop group 组织制定的php语言开发规范,约定了很多方面的规则,如命名空间、类名规范、编码风格标准、autoload、公共接口等。现在已经成为php技术社区事实上的标准了。很多知名的php框架和类库都遵守了psr规范。
php开发者应当学习掌握psr规范,在开发程序时应当尽量遵循psr规范。
swoole
2017年php还局限于做web网站吗?no,如果你还不知道swoole,赶快去了解一下吧。swoole的口号是重新定义php语言,swoole是一个异步并行的通信引擎,作为php的扩展来运行。
node.js的异步回调swoole有,go语言的协程swoole也有,这完全颠覆了对php的认知。使用swoole php 可以实现常驻内存的server程序,可以实现tcp、udp异步网络通信的编程开发。
过去php只能做一个web网站,现在使用swoole可以做java 、c++才能实现的通信服务,比如websocket即使通信、聊天、推送服务器、rpc远程调用服务、网关、、游戏服务器等。如果你想用php做点web系统之外的东西,swoole是 好的选择。
laravel
近几年火热的php框架,官网号称是为web艺术家设计的框架,可见这套框架有多优雅。laravel提供的功能模块丰富,api设计简洁,表达力强。而且它的社区非常活跃,代码贡献者众多,第三方的插件非常多,生态系统相当繁荣。
laravel底层使用了很多symfony2组件,通过composer实现了依赖管理。如果还在纠结使用什么php框架,不如选择 laravel。laravel提供的命令行工具基于symfony.console实现,功能强大,集成了各种项目管理、自动生成代码的功能。
phar
php5.3之后支持了类似java的jar包,名为phar。用来将多个php文件打包为一个文件。这个特性使得php也可以像java一样方便地实现应用程序打包和组件化。一个应用程序可以打成一个phar包,直接放到php-fpm中运行。
配合swoole,可以在命令行下执行php server.phar 一键启动服务器。php的代码包可以用phar打包成组件,放到swoole的服务器容器中去加载执行。
composer
第 一点就要提composer,自从composer出现后,php的依赖管理可以变得非常简单。程序内依赖一些类库和框架,直接使用composer引入即可,通过使用composer update安装依赖的包。解决了过去加载外部库的各种难题。
composer也有国内镜像,速度非常快。现在绝大部分php开源的项目都提供了composer的支持,建议大家在项目中使 composer来解决php代码包管理的问题,不要再使用下载源码、手工include的原始方法。
到目前为止市面上仍然没有出现比php更简单易用的编程语言。所以php的前景还是很广阔的,与其纠结于编程语言的选择,不如好好地深入学习使用php 。