PHP的未来在哪?

Black PHP 34 次浏览 没有评论

57 个回答

看到有很多非常消极的负面答案,得回答一下。

首先,PHP 语言的定位是 服务器端快速开发编程语言。PHP 语言之所以能如此成功,并不是性能强或者功能多,到现在也是如此。即便是 PHP7 大幅提升了语言性能,还有即将加入的 JIT 特性,都只是让 PHP 语言变得更好,而不是要让 PHP 语言去和 Java/C++/Golang 这些语言对标性能。要比性能,PHP 在 20 年前就没有存在的必要了。PHP 语言的核心优势永远是 快速开发。到目前为止 PHP 依然可以保持这个优势,没有出现新的技术可以比 PHP 更适合快速开发。

很多人对 PHP 的性能存在误解,在实际项目中同样的逻辑使用 PHP 开发和使用 Java/C++ 开发,最终的程序在处理能力上(QPS),可能只有 1-2 倍性能差距,并不大。

我对 PHP 的理解就是一个好用方便、可以作为主力开发语言。除了 PHP 之外,C/C++ 也是我非常喜欢的编程语言。C/C++ 和 PHP 可以很好地实现优势互补。不适合用 PHP 语言的场景,就用 C/C++ 来实现。Java 有很多成熟的系统,可以拿来使用,如 Kafka、ElasticSearch、Hadoop 等等。编程的话基本上不碰。

Swoole 这个扩展主要是为了弥补 PHP 在网络通信编程、Linux 系统编程方面的弱点。让 PHP 语言也可以像 Java/C++/Go 一样去开发更复杂的 Server 程序。PHP 语言的快速灵活加上 Swoole 引擎的强大,就像给大象插上了翅膀。开发各种复杂的后台 Server 程序都可以非常简单轻松。

微服务只是 Swoole 应用的一个领域,使用 PHP + Swoole 开发微服务系统的企业非常多。有赞只是其中一家,他们转型 Java, 只是个体行为,这并不能说明什么。

就拿我公司(车轮)来说吧,我们从 2015 年开始使用 Swoole 进行微服务治理,到现在公司内所有核心服务都使用了这套 Service 框架,日均接口调用总量 20亿 次以上,成功率 99.99%,现在这套技术架构已经稳定运行了超过 2 年时间。我们基于 Swoole 开发了很多基础的组件,包括微服务框架、分布式的配置分发系统、服务注册发现、服务可用侦测和故障自动转移、微信小程序和 H5 网关、短网址网关、消息推送系统、订单与支付系统、MySQL Proxy 中间件、接口调用统计系统、监控和报警系统。

PHP + Swoole 这套技术方案简单高效灵活,可以很方便地开发定制各类企业所需的轮子,很适合快速发展的企业。未来相信会有越来越多的企业使用 Swoole,这里是几个热门技术关键词的百度指数。可以看到 Swoole 的增长势头很猛。

PHP的未来在哪?
编辑于 2017-09-08

自己回答一下吧。语言比较乱 ……毕竟语文一直不好

从2014年大一入学开始学习PHP ,到现在2017年新开学大四正好过了3个年头。学校比较差,渣渣三本学院。PHP是在学院的老师办的校办企业中学习的。当年啥也不懂,懵懵懂懂就选择了PHP。

这个公司中PHP做的大部分是外包的工作,三年的外包生活,让我从一个菜鸟也算是变成了能多少懂点的老鸟。 很感谢PHP的简单,让我可以有大量的时间来研究整个网站的原理,一次请求过程发生了什么,还对swoole workerman之类的感兴趣,也有时间去看点 golang Node.js 等语言的知识,去了解 去对比PHP的优势和劣势。 从那时起就一直觉得 swoole workerman可能是未来PHP的趋势。但是苦于外包公司是不会给你练手的机会的。 自己搭建的 也只能是属于玩具级别的东西。

当前公司的技术栈分为 Java和PHP 两块,以前还有.net 后来在2015年就弃用了。转眼到了现在(2017年)PHP也要弃用了。 原因是在三线小城市,招不到PHP人员,现在也就我一个还在维护着以前的PHP项目,如果继续用PHP做项目会造成后续无法维护的问题。 然后领导就要求转Java。 凭借3年PHP的经验 转Java的过程还是非常顺利的,网站免不了就是增删改,大约1周左右就可以跟着开发项目中的一些模块。

但是!!! 不得不说,用Java开发web真的是觉得不爽!!!!

于是就打算 等校招或者毕业后可以去一家技术以PHP为主的公司。现在单说语言层面 PHP Java go node 都差不多, 都能达到差不多的效果。一家公司的技术栈如何,很大可能就是看公司技术主管擅长什么。 有赞这个公司,虽然是因为 和韩老大闹矛盾那件事之后才知道的,但是也不得不承认他们的PHP团队确实不错,是有一定水平的,基于ZanPHP做自己的服务 也算是发展了PHP的生态。

虽然上面 有人说不光有赞用swoole 腾讯也用,就是有赞不用了也没关系。但是从整个PHP 生态来说, 有赞放弃PHP转Java 绝对不是个好事。

有赞能在2017年的PHP开发者大会做出分享,已经证明了他们的实力,在PHP社区也应该算是处于领头羊的位置。很遗憾 领头羊被弃用了。

2年来逛知乎, 逛V2EX 经常会看到有人说 公司PHP转Java 但是却很少看到有Java转PHP的…… (只是自己看到的,不代表实际情况)

提出这个问题 ,可能也是说出了一部分PHPer的心声 。真心觉得 大部分的网站 用PHP或者Java 还是go 还有node、Python 并没有多少区别, PHP因为简单,可以让人有更多的时间去关注 业务之外的问题,比如linux , 比如mysql的优化 。

也有大佬说 php就适合干个三五年,后面还是多了解了解计算机网络,异步编程,算法等东西吧

其实其他语言搞web也和PHP差不多。

感觉我们公司搞Java的 也没多少懂算法,懂异步编程。

计算机网络,异步编程,算法已经不单单是web的范畴了。

当然我的意思也不是这些不重要,这些很重要。只是如果只考虑实现具体业务逻辑是不会考虑这些的,毕竟牛人还是少数。大部分人只需要做一些增删改就可以了


乱七八糟胡乱说了一堆 ,只是个渣渣菜鸟 还希望各位大佬不要喷。

其实自己也知道 有赞转Java 是因为Java有更加成熟的技术栈,直接拿来用就可以了,相对来说 PHP swoole 还有很长的路要走

校招投了腾讯的岗 希望笔试能过给个面试机会。_(:зゝ∠)__(:зゝ∠)_

当然 如果其他有公司是PHP技术栈的 如果招人的话 也可以私聊我,

(ง •̀灬•́)ง毕竟搞了三年的PHP 马马虎虎算个中级PHPer了

编辑于 2017-09-08

做php开发已经三年半了,golang也搞了一段时间,我是做直播行业的,常驻内存型的服务是必不可少的,最开始考虑的是swoole,但是考虑到swoole社区没有想象中的活跃,所以最后使用了golang,在写golang的时候发现其实说实话更喜欢php,php语言灵活,不用考虑数据类型,可以考虑更多的实现方法。php在常驻内存方面确实不行,不过,它本身也不是因此而生的,swoole发展完善了这一块内容。说实话,有c和c++作为php的补充。php前景光明,关键问题是php的社区增长却有点乏力,比如,有用php做机器学习的库,但是功能却不多。现在很多人停留在互联网阶段时对php的定位:做一些前端的事情,但是,这只是市场定位,并不代表,它只能用于做前端的时候,关键是推动型问题,就像swoole一样,推动了php在服务器端常驻型服务的发展

发布于 2017-09-10

天天有人担心PHP的未来, 真是让人感动…. 然而PHP的未来并不重要, 重要的是作为独一无二的你的未来, 如果你天天担心这个, 担心那个, 我真替你的时间感到可惜….
—— Laruence,2017年9月10日12:05

当然PHP也会不以任何个体的意愿为转移的继续成长下去….
—— Laruence,2017年9月10日12:06

转自新浪微博

编辑于 2017-09-11

文人相轻,程序员也继承了文人的一些臭毛病,互相鄙视。

PHP是上手最快、生产效率最高、做出的网站产品最多的语言,这还不够证明其价值吗?一款产品选什么语言,难道不是要选使用人最多,性能还够用为标准吗?

所谓的优雅不过是跑偏了的审美,你喜欢面向对象可以去用Java?你喜欢前后端统一语言可以用JS,你追求性能极致,干脆用C。但最终你会发现编程语言只是工程师知识体系的一小部分而已,配套的知识才是隐藏在水下的冰山。

如果你是一位大师,你可以鄙视PHP,因为你什么都知道,如果你是一个学生,你也可以鄙视PHP,因为你一无所知。

——————

大型电商用JAVA并不是因为PHP不好,而是JAVA和PHP的定位不同。JAVA是一个很大的概念,它的一个分支提供了一套软件工程体系解决方案,更适合长期稳定的大型应用。创业公司、没有定型的或不够巨大的产品不会选择JAVA,更不会选择C,只能选择PHP、node.js、python等相对简单容易快速产品化的动态语言。

PHP未来在哪里要看未来的产品是什么样的,目前的普通http应用还是占多数,所以PHP依然是王者。高并发、低延迟、视频音频等需求越来越多,node.js,swoole ,Japronto等这样的技术才会火起来。

未来怎么样,谁也不知道。建议学生从node.js/python/php学可以快速上手,如果从java/c学,可能你实践的机会都没有。至于老革命,不需要别人的建议,而且学一门新语言成本也不会很高。

编辑于 2017-10-01

是时候放出这张图了

PHP的未来在哪?

高清原图传送门,erikbern.com/assets/pro

原文传送门,The eigenvector of “Why we moved from language X to language Y”

在这个report中,前5个比较受叛徒们欢迎的语言,依次是

  1. 16.41% Go
  2. 14.26% C
  3. 13.21% Java
  4. 11.51% C++
  5. 9.45% Python

这个报告并不代表市场占有率,论网站占有率,PHP无疑是第一的,Alexa前1000万名的网站拉出来统计,80%以上都是PHP,然而7000万WordPress用户贡献巨大,WP背后的公司运营了3000多万个博客,但是员工只有几百人,其中的PHP开发可能100个都不到。

PHP过去的确辉煌过,但是近几年错过了很多机会,Python在科学计算和数据分析领域有了一席之地,在机器学习上也颇有建树,micropython甚至还把手伸到了开发板上,把胶水语言的作用发挥的很好。

PHP在CMS领域仍然绝对垄断,但在CMS和CRUD之外并没有抢到多少份额,一手好牌烂手里,是很可惜的,PHP性能在脚本语言里数一数二,语法起码比ES5好看点,开发者数量也不少,然而没有把握好机会,失去了五年以上时间。

PHP主打的不是性能,动态类型语言在性能上天生吃亏,在CPU密集任务里,不算C写的扩展,PHP代码仍然比JVM或者Go慢一个数量级(10倍),在IO密集型任务里,PHP带上C扩展可以接近JVM和Go的性能。即便最慢的Laravel,也可以达到2000QPS以上,扛下3000万日PV的站点也没问题。

面对越来越复杂的需求和项目,动态类型语言天生吃亏,无论是IDE支持还是编译器帮助减少错误,动态类型都大大的吃亏。在重构代码的时候,静态类型语言会给你更多信心。动态一时爽,重构火葬场是血的教训。

PHP主打的开发效率,在前些年可能优势比较大,如今没有那么明显了,也就跟Python差不多。PHP出活比当年SSH是要快的多,但在spring-boot面前也没有太大优势,而在微服务时代,spring-boot可以无缝的升级到spring-cloud,spring-*覆盖了从初创到100亿美金体量的技术诉求。最近很多公司转Java,跟spring-*家族的壮大有很大关系。

回到问题本身,PHP未来在哪里,我的答案是Swoole,Swoole的常驻运行模式,让PHP在这点上不落后于其他语言了。如果把Swoole合并到PHP主流分支,再好好运作,跟Laravel等框架合作,等主流PHP框架和库们都拥抱Swoole的时候,那就是PHP界的spring了。再有公司开源一个swoole-cloud这样的一站式微服务设施,情况会比现在好的多。

回复更新

看到

举Facebook HHVM/Hack的例子,虽然Hack兼容PHP的代码,可以方便的跟PHP做interop,但它已经完全不是我们认识的PHP了,有点儿类似groovy和Java的关系。

  • Hack有很严的类型检查,在运行前typechecker就能发现很多类型错误
  • Hack有类似C#的async和await,PHP哪个版本加上这个特性?
  • Hack有类似Java的泛型系统,这是个很重要的基础设施
  • Hack通过泛型提供了map/set/list等类型,并可以为基础类型做特化
  • Hack有Lambda和Block,提供了非常现代化的map-filter-reduce设施
  • Hack有null-safety,可以有效的消灭null pointer exception

Hack是一个兼容PHP语法的完全不同的语言,引入了非常多的现代语言特性,改进了PHP的几个痛点,从编译器到运行时都是重新造。即便如此投入巨大,fb依然招聘了大量的C++和Java。然而有几个公司能像fb一样砸钱给PHP改头换面?

摆在很多有大流量需求的公司面前就两条路,要么转Java/Go,或者每年多花一两百万养3个资深PHP去造各种轮子,然后做到了拿一半工资的Java/Go开发就能轻易做到的事情。

编辑于 2017-09-08

我觉得有赞是抄不下去了,通过抄swoole才被我发现的,也不知道是干啥的公司。
编辑于 2017-09-07

目前java加上ide的发展,配合springboot和springcloud的框架,开发效率已经比php要高了

由于强类型,加上一些插件的辅助,可以很快的找出和定位问题。

也不用考虑以后上亿级别的并发,因为都有现成,优雅,成熟的解决方案。

php在快速开发和灵活系统上还是有一定优势,在web开发方面php最近慢慢趋向于弱势,主要原因是js框架崛起,react和vue解放了web+js+代码混合,以前php写模板的灵活性变得不重要了。

php后端的优势就不如java,公司大了以后,分工是最重要的,前后端分离,前端更加脚本化,后端更加逻辑化严谨化。

工具的发展会让强类型语言重新生机,弱类型的脚本语言会越来越人类语言化,处于中间的语言会比较尴尬。

编辑于 2017-10-08

谢邀。

知道PHP为什么是最好的语言吗?从PHP 4起,我就天天听到“PHP不行了”,结果呢?有十几年过去了吧?不变的是这种论调,同时不变的还有PHP仍活得好好的。

前面有兄弟洋洋洒洒写了不少。我不,不为“口沫横飞”的语言死不死、活不活话题争得脸红脖子粗。

爱用不用,别人家的事。

发布于 2017-09-07

一边在吹Node.js和Java Netty的异步有多牛逼多牛逼,Golang的协程有多好多好.

一边却说支持异步和协程的Swoole没有未来,双重标准玩得真溜,跟谁学的?

爱用不用,爱学不学,但别无脑黑呀.

还有,有赞不用Swoole转Java,那PHP和Swoole就要死?我就想说,有赞算老几?

真那么牛逼当初还用个毛线Swoole呀,自己那么牛逼为什么不自己从头搞呀.

阿里之前不也是PHP转Java,PHP转Node么?但结果呢?PHP不仅没死,而且还涌现出速度更快的PHP7和支持异步协程的Swoole这些新事物.有赞是不是比阿里还牛逼呀?

Swoole的大型案例又不是只有有赞,腾讯基于Swoole的Tencent Server Framework(TSF)在腾讯公司的企业QQ,QQ公众号项目都有大规模应用.比如腾讯旗下某个投资公司的微服务架构:

PHP的未来在哪?
PHP的未来在哪?

Java,Go,Node.js都是单进程多线程架构,都要定期进行全局GC,当发生GC时,所有代码都停止运行,程序会发生周期性卡顿(STW).其中Node.js还是个只有主线程能执行代码逻辑的货,多核利用都是个问题,蹩脚的cluster进程模块还不如用Nginx的upstream做负载.

Swoole里的reactor是C实现的,没有GC的问题,而执行PHP代码逻辑的是worker进程,是多进程架构,其中一个进程GC不会影响到其他进程,也没有全局GC的问题.

PHP和Swoole的多进程架构还有个优势, 就是worker进程内存占用超过php.ini配置的memory_limit时会自杀,manager进程会重启一个新的worker进程,在处理HTTP短连接的场景下特别有用. 另外PHP-FPM和Swoole都支持配置处理指定数量的请求后自动重生进程. 反观Java,一个线程的崩溃,整个JVM进程就完蛋了,整个服务就不可用了.

而且因为PHP逻辑代码跑在worker进程(没有多线程)里,所以也不用担心锁的问题.worker进程崩了,Swoole的manager进程还会重启(worker_id不变), 同时reactor线程维持的连接也不会丢失, 这样就算开发者的PHP代码出现Fatal error,服务也不会中断.而worker进程(内置EventLoop)跑完PHP逻辑代码(支持异步)后通过Unix Socket把数据交给reactor线程返回.

再说下完备性,Swoole要比Node.js高得多,比如:
Swoole内置异步的HTTP服务器,除了能处理PHP请求,还能处理静态文件(资源存在,直接返回,无需编程),而Node.js默认不行.
Swoole内置异步的WebSocket服务器,而Node.js则没有,比如需要使用第三方的SocketIO.
Swoole内置异步的HTTP/Redis/MySQL客户端,而Node.js没有内置或者不好用,比如Node.js的HTTP客户端一般都是用第三方的request.
Swoole内置心跳检测和日志记录等功能,开发者无需编程,只需传入配置项即可使用,而Node.js当然也没有.
Swoole内置reactor多线程,worker多进程,task多进程的实现和架构,而Node.js默认没有,需要开发者自行使用cluster多进程模块编程.
Swoole在事件回调函数里可以使用PHP的require ‘file.php’实现热修改,开发时修改代码不需要重启就能生效,而Node.js不行,需要一些第三方模块比如PM2来完成.

移动和物联网时代,对实时通信的需求会更多,移动领域IM,国内的微信,国外的WhatsApp,企业协作类SaaS服务阿里钉钉和Slack,以及各种在线客服,推送服务(极光/云巴),视频弹幕留言,甚至游戏服务器(状态同步/帧同步)等等,哪一个离得开实时通信技术.即使小到zhihu的消息提醒,都得用到服务器推送.而Swoole尤其擅长开发此类服务,这难道还不足以吸引PHP开发者么?

连PHP都玩不转,以为转Java就有救了,笑话.

补充:

有人说Swoole的文档写得不好.

到底是Swoole的文档写得差,还是那些人压根连Swoole官网的搜索功能都没用过?

Please Search The Fucking Manual:
https://wiki.swoole.com/wiki/search/?q=redis

有人非得说PHP性能不行,那就跑个真实场景的测试.

我们都知道,关联数组(或者叫字典/映射/哈希表)是开发中经常用到的数据结构.甚至像一些服务如Redis(Remote Dictionary Server),本质也是一个内存上的字典.生成一个包含100万个元素的关联数组(字典/映射),PHP7的耗时仅为Node7的1/3,就连PHP5都比Node7要快.测试内容主要包含时间戳获取,字符串拼接,字典生成这几个开发中经常用到的操作.

PHP的未来在哪?

Java实现同样逻辑要比PHP7稍快的话,需要大量的内存,比如1个GB,而PHP只需82MB左右.如果存在质疑,欢迎自行测试.Java测试代码如下:

import java.util.HashMap;
import java.util.Map;
public class hash {
	public static void main(String[] args) {
		long start = System.currentTimeMillis();
		long time;
		StringBuilder sb = new StringBuilder();
		Map<String, Long> map = new HashMap<String, Long>();
		for (int i = 0; i < 1000000; i++) {
			time = System.currentTimeMillis();
			map.put(sb.append(i).append("_").append(time).toString(), time);
			sb.delete(0, sb.length());
		}
		System.out.println( (System.currentTimeMillis() - start) / 1000.0 );
	}
}
编辑于 2017-09-09

嗯~ PHP 从诞生到现在已经有20多年历史,从Web时代兴起到移动互联网退潮,互联网领域各种编程语言和技术层出不穷, Node.js 、 Go 、 Python 不断地在挑战 php 的地位。这些技术的推动者非常热衷于唱衰 PHP , PHP 语言的未来在哪里?PHP 程序员当如何应对未来的变革?
作为老牌的Web后端编程语言,PHP 在全球市场占有率非常高,仅次于 Java ,从各个招聘网站的数据上来看PHP 开发的职位非常多,薪资水平也非常不错。实际在中小企业、互联网创业公司PHP的市场地位是高于 Java 的。Java 在超大型企业、传统软件行业、金融领域优势更大。目前来看 node.js、 go 、 python 、 Ruby 等语言还难以企及PHP和Java。

PHP 语言之所以能有今天的地位,得益于PHP语言设计者一直遵从实用主义,将技术的复杂性隐藏在底层。PHP 语言入门简单,容易掌握,程序健壮性好,PHP 官方提供的标准库非常强大,各种功能函数都能在官方的标准库中找到,包括MySQL、Memcache、Redis、GD图形库、CURL、XML、JSON等等,免除了开发者到处找库的烦恼。PHP 的文档非常棒,每个函数都有详细的说明和使用示例。第三方类库和工具、代码、项目也很丰富。开发者可以快速、高效地使用 PHP 编写开发各类软件。到目前为止市面上仍然没有出现比 PHP 更简单易用的编程语言。所以 PHP 的前景还是很广阔的,与其纠结于编程语言的选择,不如好好地深入学习使用 PHP 。
作为一个 PHP 开发者,在技术上给各位 PHP 程序十点未来的建议,希望对大家有所帮助。

1. Composer
第一点就要提 Composer ,自从 Composer 出现后,PHP 的依赖管理可以变得非常简单。程序内依赖一些类库和框架,直接使用 Composer 引入即可,通过使用 composer update 安装依赖的包。解决了过去加载外部库的各种难题。Composer 也有国内镜像,速度非常快。现在绝大部分PHP开源的项目都提供了 Composer 的支持,建议大家在项目中使用 Composer 来解决 PHP 代码包管理的问题,不要再使用下载源码、手工 include 的原始方法。
2. PHP7
PHP7 版本对 Zend 引擎做了大量修改,大幅提升了 PHP 语言的性能,使用 PHP7 可以使你的程序性能瞬间翻倍。即使是 WordPress 这样重量级的软件运行在 PHP7 都能有上千 QPS ,相当于一台服务器每天就能处理 8000 万次请求。使用 PHP7 ,做好 mysql 优化,使用 Memcache 和 redis 进行加速,这套技术架构完全可以应对相当大规模的系统。除了某些亿级用户的平台之外,一般规模的系统完全没有压力。
3. PSR
PSR 是 php-fig.org/ 组织制定的PHP语言开发规范,约定了很多方面的规则,如命名空间、类名规范、编码风格标准、Autoload、公共接口等。现在已经成为PHP技术社区事实上的标准了。很多知名的 PHP 框架和类库都遵守了 PSR 规范。PHP 开发者应当学习掌握 PSR 规范,在开发程序时应当尽量遵循 PSR 规范。

4. Swoole
2019 年 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 是最好的选择。
5. Laravel
最近几年最火热的 PHP 框架,官网号称是为 Web 艺术家设计的框架,可见这套框架有多优雅。Laravel 提供的功能模块丰富,API 设计简洁,表达力强。而且它的社区非常活跃,代码贡献者众多,第三方的插件非常多,生态系统相当繁荣。 Laravel 底层使用了很多 symfony2 组件,通过 composer 实现了依赖管理。如果还在纠结使用什么PHP框架,不如选择 Laravel 。 Laravel 提供的命令行工具基于 symfony.console 实现,功能强大,集成了各种项目管理、自动生成代码的功能。

6. Phar
PHP5.3 之后支持了类似 Java 的 jar 包,名为 phar。用来将多个 PHP 文件打包为一个文件。这个特性使得 PHP 也可以像 Java 一样方便地实现应用程序打包和组件化。一个应用程序可以打成一个 Phar 包,直接放到PHP-FPM 中运行。配合 Swoole ,可以在命令行下执行 php server.phar 一键启动服务器。PHP 的代码包可以用 Phar 打包成组件,放到 Swoole 的服务器容器中去加载执行。
7. HTML5
作为 Web 前端新一代标准,HTML5 未来前景非常广阔,市场需求量非常大。从 PC 网站、B/S 企业软件、移动端网页、APP,这些领域都在拥抱 html5,掌握了 Html5 才能在下一波互联网技术大潮中存活下来。有不懂欢迎大家点击正在跳转一下,多多前来交流。

发布于 2019-05-28

每个社区的人素质差的真不是一点半点,多数和社区管理者的脾性有关。

为什么有赞核心应用要转Java,一家商业公司的核心目标是什么?市场上PHPer的质量又是什么?我也是个PHPer,我们自己心里都得有点儿x数。一堆天天简历上写着熟悉xxx框架的PHPer和从科班就在学习领域建模、设计模式的Javaer,请问你作为大型商业公司决策者会怎么选择?

为什么那么多公司转Java,看了上面的话,自己琢磨。天天盯着语言、框架这都哪传出来的风气,真心害人。

另,Zan*系列一直以一个正常开源软件的方式独立运营,丝毫不受公司业务调整影响,地址: zanphp.io

劝有自己思考认知的PHPer,深入1~2种常用语言,会1~2个框架的使用,剩下的多关注架构设计、基础知识、及时更新新的东西,剩下的时间多去考虑业务,考虑产品,考虑商业价值。就像我们经常被人当作竞争对手,一直在“被关注”,但其实在我们眼里,呵呵一笑低头做事,我们很忙没空操心别人家闲事。

最后一句回答标题:PHP的未来很明朗,但PHPer的未来需要整个圈子风气的改变。

编辑于 2017-09-08

悄悄告诉你们玩虚拟机语言的一下:创建进程的开销要比STW或者创建线程的开销大的多。

发布于 2017-09-07

swoole再牛逼也抵不上php的慢,遇到没有现成的库要写算法的时候,要么写C扩展,要么直接上性能有C的70%的java。这是个很合理的过程。

一开始韩大非要拉上php玩的时候,我就质疑swoole这么好的一个c写的网络框架,为什么非要拉上php来拖慢速度?就算php生态有很多好用的成熟的库,但多少又是高性能网络程序用得上的?比如gd图像处理,用在异步高IO的场景下干嘛?他说如果仅仅是c的网络框架,满世界很多选择,多他一个不多,没什么做的价值。

其实到现在我仍然觉得swoole非要拉上php,只是韩大的执着,并非这是一个很好的选择。当然让更多phper能直接用熟悉的语言开发高性能异步网络程序这个价值是有的。但是php本身真的太慢了,和高性能沾边很容易就得落到用C写扩展的地步,那样还不如一步到位用java。

所以我是觉得有赞的选择并不是没有道理可循的,再强的swoole本身,也挡不住php在高性能网络程序中的性能短板。

至于说java的gc问题,这个问题目测当前除了c/c++那类手工管理内存的语言,其他都有。只是java跑得太快,但是太多底层代码用java自身来实现的,导致相比其他大量用c/c++写扩展的语言,gc问题更突出。

发布于 201709-07

我们要知道的是,PHP仅是一门语音,说到底 它只是个工具一样,工具没落不没落不重要,就像,从古至今,许多的工具都没落了,但人类依旧存在着,我们不应该把心放在这些工具上,这并不是本质,与其去关心PHP的未来,不如多关心自己的未来。
编辑于 2017-10-09

本人从今年从PHP转向node,至少在杭州PHP的形势确实越来越恶化了。拉勾上两年前接近500个岗位的PHP,现在只剩下300家不到的样子。事情恶化到这个地步确实让人觉得比较惋惜。
我是从14年接触PHP,15年开始参加工作的时候一直都希望PHP能越飞越高,但是在15年下半年开始就不断听到PHP转JAVA的公司,就连阿里也早早的把PHP转成了node,这时我就觉得情况不太妙了。
果然在16年上半年,我离开了我第一家实习的公司出来,就发现拉勾在杭州的PHP已经变成了400家左右的样子,找工作的难度也提升了很多,不再是面试一家秒杀一家了,用PHP也越来越谨慎了,再后来我进的这家PHP后面也转了lua。那时我选择坚持PHP,便离开了,继续找寻我的PHP之路。
没想到在16年下半年,面试多家都是要从PHP转向其它语言,这个时候就有点心灰意冷了,然而我还是决定做最后一次PHPer。接着入职了一家电商公司做PHP,我学了很多语言,但最终还是选择了node,纯粹是我喜欢快速高效的开发。过了差不多一年,不幸又幸运这家公司准备搬家并且准备用JAVA替代PHP,没错今年七月份我又离开了。
这次我进了一家用node的公司,回头看PHP,确实有那么一丝的留恋。看到拉勾上在300左右徘徊的PHP有种说不出来的感觉,既和我相关又于我无关。

———-
PS:语言都有各自的优缺点,没什么好评判的,至少现在挺爱node的:)

编辑于 2017-09-16

拍黄片只是一门语言,要的是生态呀,服务端的意识这些东西。大神不都是拿到什么写什么。
编辑于 2017-09-16

沒有分別,還是在伺服器端。
但希望可以在FaaS 的平台也能普及開去。
发布于 2017-09-08

PHP的未来,就是继续当做一个很友好的入门级语言。

一旦一个业务足够大了,肯定要重写,比如前后端分离,后端就用Java改写,搞微服务,或者用Go什么的。

反正PHP继续做好一个入门级语言就好了。

当然,绝大多数项目和公司在技术成为瓶颈之前就死了,所以不要自寻烦恼了。说不定你们的项目或公司明天就倒闭了,不要多操心啦。

========分割线==============

1、Java的生态真的太繁荣了,要啥有啥,无论什么样的事,都几乎有现成的解决方案。真到了要自己造轮子的地步,你们的公司就跟阿里巴巴那么大了;

2、我一个朋友,在北京,公司一直都挺好,没有任何征兆,突然就被老板叫过去吃散伙饭了。大多数公司的死,都是悄无声息的死,没那么轰轰烈烈,所以很多人不知道,每天都有大量的公司在默默的死去

所以当你的项目和公司竟然还没死,竟然到了PHP搞不定的时候,那时候就换其他语言吧。所以,PHP用来快速构建项目原型,或者搭建一些简单且永远长不大的网站,挺合适的。这就是PHP的定位。

3、Swoole的文档写的太烂。所以如果我的项目或者公司竟然活到了要高并发的程度,我宁愿学Java和Golang,用它们的轮子。

编辑于 2018-07-07

PHP有一项是世界之最:PHP是世界上最多网站使用的开发语言,看下边的数据,几乎每100个网站就有79个是php写的,所以说php没有未来,是不可能的,每一个语言都有它存在的意义,单纯去比性能没有意义,php的优势就在于:使用php开发网站具有速度快,效率高,成本低的,况且现在php7性能也有很大的提升,并不算差,至少动态语言来说,php的性能是最高的了。

Usage Statistics and Market Share of Server-side Programming Languages for Websites, November 2018

编辑于 2018-1107

php不说是最简单的编程语言,

那也是最简单的编程语言之一。

所以如果你只是会点php,

注定未来的前景惨淡。

也许你说php在web独步天下,

也许你说php7性能爆表,

也许你说swoole的异步简单高效,

但是,我还是劝你醒醒吧,

这些跟你又有半毛钱的关系呢?

你只是个使用者,

上面哪个是你写的?哪个不能说出个1,2,3来?

相比java和go,

php的知识点少的多,

这就意味着,如果你就会点php,

就会点lnmp的安装配置,

注定了你在技术上的巨大欠缺,

你的工作,基本就是围绕数据库的curd,

复杂点的,可能还会用个负载工具,加个缓存啥的,

但是,这些,都没有竞争力。

你如果在大公司还好,反正他们不裁员,你在那混吃等死。

如果在小公司,你会发现工作5年后,跳槽越来越难。

复杂点的工作你干不了,简单的工作人家不要岁数这么大,工资这么高的。

所以说,php就适合干个三五年,

后面还是多了解了解计算机网络,异步编程,算法等东西吧

编辑于 2017-09-07

每一种语言都有合适的领域,语言跟人一样,有生命周期,从目前PHP现有存量来看,作为一个小的开发者完全不用担心;

至少这个问题应该是PHP内核开发者或者社区核心组织要考虑的;

合格的工程师换个语言,跟换双鞋差不多,开始可能有点不适应,但是上路之后,都是一样要“走路”写业务;

个人认为下面这个公式适合大部分技术人员:

熟悉/精通一两种语言(3-5年)+深入某个领域业务(10年左右)+管理思维(5年以上团队管理)

明白这些,自然知道路怎么走了,还在困惑语言有没有前途的童鞋,只能说思维还没打开;

编辑于 2017-09-11

与其在这 BB PHP 的未来,不如自己把基本功搞扎实了,该学的都学了,比什么都要强。

语言只是工具啊大兄弟,搞清楚计算机原理,比多学 100 个语言,有用的多的多的多的多。

这个世界不缺会 coding 的程序员,缺的是懂计算机的程序员。

编辑于 2017-09-08

任何一种语言都有其存在的价值 当然也有时代性

中学时候 学过Qbasic说实在的 当时也不懂这啥东西

以后学过 VB 大学时候 汇编啊 C啊 JAVA啊 等等吧

很多语言在慢慢消失在社会的快速发展中

同时也有很多语言兴起

我以前学过的 现在还在用的 较为 主流的 C++ JAVA Python等

数据库可以加个MySQL

由于有些年头没编程了 在这方面关注度不高

前几天看 有个Ruby还挺有趣的

从Mixin 程序块 元编程等的语法等等当中获得一种喜悦

回到主题

本人对PHP饱含深情 当时用PHP做了不少网站开发 API接口 小游戏开发等

很容易上手 难度不是很高的一款软件

现在也算主流

但可能就是因为入门较低 导致很受众群体较大

当然 计算机语言 就像功夫一样 你把任意一种练到最上乘 也是很厉害的

但任何一种语言 都成金字塔机构 高端技术人员 很少

再加上 入门比较低

未来有可能会被取代

其实任何一种语言 都可能被取代

社会在发展 人类在进步

没准今后 真到全智能时代 会有机器帮助我们去开发 去编程

编辑于 2017-09-10

PHP的优势就三个 1:优秀的开发效率 2:与HTML的深度嵌套结合 3:学习成本低

楼上这么多人说swoole和运行效率,看来我用的PHP和你们用的PHP不是同一样东西,在要求常驻内存和运行效率高的场景,为什么我不选JAVA或go呢?PHP7再快,也比不上这两者吧。

PS:在我看来,swoole的缺点有两个,一是文档太少(相对),二是为了所谓的优点,把PHP本身的优点都弄没了。

PS2:PHP的未来在哪和绝大部分PHPer都没关系,反正也没几个PHPer在开发zend引擎,PHP不行了,花点时间学习一门其他语言,绝对比在逼乎上扯蛋有意义。

发布于 2017-09-08

回答一下吧,语言组织的可能有些乱,

PHP 还是适合做web开发方面,目前来说,在现有的语言里 web开发方面 我觉得没有什么比PHP的开发效率高的,PHP的那几个热门框架,是真的让你省了好多好多,一般中小型项目,都是PHP为主 大型项目 可能是java或者其他的,但是做web开发的话,最后的是在数据库,和服务器上面吧。

我觉得以PHP为切入点 开始学习编程 工作 是非常合适的,然后在工作的过程中,去找 某个功能 用什么语言合适,比如爬虫和数据分析 个人认为 python再合适不过了,最起码比你用curl强太多呗。

之前一个长辈给我说过(java大佬),语言是一个工具,它只是一个工具,你也要把它当做一个工具,什么时候 用哪个工具合适,然后就去用就好了,像大厂的 一套系统只用一门语言? 你信吗?

拿PHP去当切入点,学习别的。

最起码在刚开始的学习中 做web开发 还是php开发效率高,而且也能让你接触服务器,数据库,不管什么,任何一门精通到极致,都是 ,都是大佬。

编辑于 2020-01-08

在于研发小而美的项目

发布于 2019-09-07

为什么这个标题下面居然是ZanPHP?脸书这么多年hack/hhvm体系下面的,花了这么多学费,把php网站做到了全世界最多人用的网站,为什么没有看不见未来在哪里?我真的很困惑啊。还是说大家只认亲儿子不认外甥的?外甥长的帅也要认的嘛!
编辑于 2017-09-08

是时候放出这张图了

PHP的未来在哪?
编辑于 2017-09-12

你如果认为你是个PHP程序员,那么你没有未来。

所以当你什么时候认为:你不是PHP程序员,又不是程序员,而是一名工程师的时候,未来才来。

发布于 2017-09-08

从我个人的经历来看,等到了一定的阶段,相对项目有所扩展,php的一些局限性就体现出来了。典型的情景:连接池、长连接、IO复用、服务化等一系列。虽然swoole弥补了这一块的不足,但是本身需要舍弃nginx这一块比较熟悉的领域,也是怪可惜的。但是依然还是看好php的未来发展,在快速开发方面具有无可比拟的优越性。

发布于 2017-09-08

语言只是实现算法的工具,计算机编程的核心是算法和数据结构,单纯纠结任何语言都毫无意义,几乎所有优秀的程序员都不单单只会一门语言。

发布于 2017-09-08

对于大多数码农来说,搞php就没有未来。 哪个网站搞大了不是java,c艹, 京东,阿里…… 有php吗? 有也是一些边角业务。
发布于 2017-09-12

中小企业还是用php的比较多,主要是性能不低,开发效率高,易维护,总体成本低。

编辑于 2017-09-08

php的未来就是快速迭代更新开发
之前看到一句话很有道理


> 我认为原因是缺少社区氛围:
在很多成熟公司,PHP只是作为一种数据处理层存在,给前端格式化数据用,复杂的业务逻辑都交给其他后端语言了
在创业公司中,大多数PHP项目的复杂度并不高或者在复杂度变高之前项目就已经死掉
所以, 当你在一个以PHP为主要语言的公司,且业务复杂度变得越来越高时,问题就出现了。

业务逻辑会变得越来越复杂,但是通用的开源技术对此帮助不大

我看到的一个事实是, 随着开源技术的发展, PHP程序员在大流量、高性能技术方面已经有了长足的进步,但在开发复杂业务软件方面的能力,进步并不明显。

发布于 2017-09-08

第一种,不用ajax,直接post提交php,在php保存数据并履行跳转;第二种,运用ajax 的success的回调办法,window.location.href=”跳转地址”;第三种,就是在ajax 后边,加window.location.href,不论是否ajax成功装置好服务器环境(新手引荐wampserver,集成apache php5 mysql),把你的php放到服务器的文档目录下就行了(这个能够在配置文件中更改).有些源码是需求装置后才能够正常运用的.
发布于 2018-05-28

我是一名刚入行的JAVA开发新手,说说几个月前求职时遇到的一件事吧。
那是一家很小的企业招聘JAVA开发,公司大概不到十人吧。我很好奇的是里面的员工都在用PHP开发项目,没有见到JAVA的影子(我自学过PHP,了解一些皮毛)。
“我们公司现在准备招一批JAVA程序员,工作经验不要紧,有能力即可。”
“哦。”
“那把你带的JAVA项目给我看看吧。”
“好的!”
只见面试官轻蔑的扫视了我的WEB项目后说
“你这个管理系统项目太简单了啊,只是单纯的数据库操作,是你自己做的吗?”
“对对对,是我自己做的,包括前后端和UI”
“哦,那还行,那你做了多久?”
“嗯….大概全部一起二十几个小时吧!”
“效率太低了,这么简单的项目你猜我用PHP来做需要多久?”
“PHP吗?大概四五个小时吗?”(此时我觉得答四五个小时应该舔得比较到位啦吧…..)
“四五个小时?我只要二十分钟!”
(二十分钟?我他吗源码拿给你复制粘贴都不够)
“你的作品太没用闪光点了,十八九岁的孩子都会做的东西拿出来就没竞争力了”
(你高兴就好,我严重怀疑这个面试官一是个智障,二不会JAVA)
“好的,再贱”
再回去的路上我突然很庆幸当初没有选择PHP而是JAVA,并不是PHP不如JAVA,而是怕PHPER做久了变成像那个面试官一样的SB..
真实事情,非杜撰,欢迎来喷!
——————————-
之所以我觉得那面试官不懂JAVA是因为面试期间他从未问我任何关于JAVA问题,也没有笔试,倒是问了一些JS的东西,我想是因为这是一家只用PHP做项目的小公司吧。
编辑于 2017-09-17

你赞转Java啦?

看来Java开源社区的项目们有必要检查一下自己的授权协议了。

发布于 2018-03-08

很可笑,好多人连php是什么都不知道就关心php的未来了?!语言真的重要吗?举个例子你做web编程,你了解web是什么吗?你知道它有几种协议吗?rfc是什么了解过吗?lee是谁知道吗?too young to simple。如果你们知道web的原理你们还关心什么语言的未来吗?!
发布于 2017-10-27

总是感觉网络上php的网站数量是最多的,有种即使所有语言的网站加在一起都没有php网站多。我瞎编的,不用当真

发布于 2017-10-14

造一个新语言,名字还叫「php」
编辑于 2017-10-08

说白大家都是写代码的何必狗咬狗,语言不是关键只是一种工具!学好算法你还怕工具用不好?

你自己团队有实力用好哪个工具自己心里没数?

发布于 2017-10-08

php确实不行了,你们都赶紧转吧,这样我还少了个竞争对手呢
发布于 2017-09-16

技术上一定是百家争鸣的,各说各的好话。
但是历史是属于人民大众的。
相互比较不可避免,私以为,
1)被用的越多的就越好。
2)学着越容易的越好。
3)这天下还是C的,基于C的好。
这个世界需要被信息化的地方太多了,十分重视创新,加上程序员身价贵。一个项目能“实现” 就很阔以了,之于能否活下去,那就要看产品经理的本事了。哪有那么多机会重构?能重构的都是好项目。

客观上看,php以后应该算是一个快速实现的方式。如果想比其他语言有优势,就要看其发展的宽度,能否包含更多元素在里面。
向着快速,方便实现发展总没错。

不过,“任何可以使用JavaScript来编写的应用,最终会由JavaScript编写。”

编辑于 2017-09-13

做phper三年了,目前在某知名公司工作。说说个人感受,php在web领域拥有其他语言无法匹敌的方便快捷,开发效率高。但不得不说,个人对php的信心没有刚入行时那么大了。未来在web领域,中小型应用,依然会是php的主场,但就个人发展而言,正在学习java,以后还打算学习python,毕竟语言只是一门工具,很多东需要涉猎,并需要做到融会贯通。感谢php,并希望php能发战得更好

发布于 2017-09-12

看来上班还是太闲了

发布于 2017-09-12

语言只是工具,现在应该没有只会一门语言的程序员吧。。
发布于 2017-09-09

好的程序员不会在乎哪个编程语言有没有未来,而是在乎能不能用工具来解决自己的未来。
发布于 2017-09-08

默默的看你们吹逼。
发布于 2017-09-08

这种话题其实挺没有营养的,所以还是匿了

抛开应用谈语言都是耍流氓,语言只是一种工具而已,特定的场合使用特定的工具才是正道

发布于 2017-09-08

受不了这些为黑而黑的,web开发依然是PHP的主场,不管你愿不愿意接受,事实就是这样!

牛逼的一直是人不是语言,编程语言排行第50名的牛逼吗?

那创始人牛逼吗?

喷的人,试问本身了解PHP多少?
最基本的手册看了几遍?
还是被带偏了!?
php什么样心里没点B数?
你家语言什么样,心里没点B数?
每个语言都有自身的优势,和缺陷!
反过来说某些要统一编程语言的大神们,为你家的统一天下做了啥?

《只喷无脑粉!》

编辑于 2017-09-17

每个语言都有自己专精的方向。

PHP本身就是高度易用的View。数据搞复杂了你还是要劈拉啪啦一大堆程序给你做中间件,单靠PHP简直是灾难。

但是如果只想做一个单一的CMS系统,或者在一个大业务系统中寻找一个好用的View技术,为啥不用PHP呢?

简单、现成、人好招

PHP语言层面上的东西比起node.js、go并无明显优势,性能还可能被甩开一条小街和一条大街

swoole这类技术也许能给纯PHP技术的团队一条生路,但是能用不代表能和其他专门为中间件设计的系统拼刺刀去。

业务长大了,还要固守PHP单一技术老死,也许不见得不行,但是个人不看好

编辑于 2017-09-08

我尽然都看完了,为了一个使用工具在这讨论,哪个用的好就用哪个咯

发布于 2018-1024

看到了很多评论,大家一起为php生态做努力吧。让php更好。

发布于 2018-08-26

PHP未来应该在linux上,而不是windows上。

编辑于 2018-05-15

没有未来。
下一题
发布于 2017-09-16

没有lnm的未来,不是php想要的未来。
我们在掌握php的同时更多的是掌握了web开发的体系,架构。 少了php, 换一门脚本在这个位置上依旧能够运行,少了mysql,可以换成sql servel等等意思。 而php在这个位置上。更多的是因为其快速,简单的开发而已。
我好像并不在乎php这门语言有没有未来
发布于 2017-09-08

发表评论

邮箱地址不会被公开。

Go