在PHP程序中,数据类型可以分成3种:标量数据类型、复合数据类型(即将多个简单数据类型组合在一起,存储在一个变量名中)和特殊数据类型。1.标量数据类型标量数据类型包括以下几种。(1)boolean:布尔型 布尔变量是PHP变量中最简单的。它保存一个True或者False值。其中True或者False是PHP的内部关键字。设定一个布尔型的变量,只需将True或者False赋值给该变量(2)string:字符串 字符串是连续的字符序列,字符串中的每个字符只占用一个字节。在PHP中,定义字符串有3种方式:单引号方式,双引号方式,Heredoc方式。(3)integer:整数 整数数据类型只能包含整数。这些数据类型可以是正数或负数。在32位的操作系统中,有效的范围是2 147 483 648~+2147 483 647。(4)double:浮点数 浮点数据类型可以用来存储数字,也可以保存小数。它提供的精度不整数大得多。在32位的操作系统中,有效的范围是1.7E-308~1.7E+308。
2.复合数据类型复合数据类型包括以下两种。(1)array:数组可以是二维、三维或者多维,数组中的各元素可以是string、integer或double,也可以是array。(2)object:对象类型
3.特殊数据类型特殊数据类型包括以下两种。(1)resource:资源 资源是PHP内的几个函数所需要的特殊数据类型,由编程人员来分配。(2)null:空值 空值是最简单的数据类型。表示没有为该变量设置任何值,另外,空值(NULL)不区分大小写。
为什么我们要选PHP 当作第一个程序语言来学呢?
我真心推荐,因为这个语言学习门槛最低,非常适合新手入门。不会痛苦的卡在深奥的隐藏架构上,也不用需要先理解复杂的除错工具。只要了解基本的逻辑,就能自己搭建出一个网站,真的非常有成就感。全世界上使用率最高的网页开发语言就是PHP。超过两亿个网站都是PHP为基本语言,甚至连Facebook也是。学会了就不怕没工作,想开发什么应用都做得到。简单来说,PHP就是学习飞快。
How那么怎么开始学呢?一开始看代码就跟看天书一样看不懂啊!我会把它转成中文并用一些游戏来解释就比较简单了,其实概念并不难。给自己一点耐心,遇到不懂的就去Google用关键字找答案!就像小智遇到陌生的神奇宝贝,只要查一下图鉴就能应对了
What
怎么看懂程式码的语法
举个例子:假设你现在正在玩神奇宝贝宝可梦,小智跟皮卡丘遭遇到一只野外的杰尼龟。我们简单的用中文来描述发生的事。
======= 开始 =======战斗开始出来吧皮卡丘皮卡丘使用十万伏特电爆杰尼龟计算伤害丢出宝贝球收服战斗结束======= 结束 =======
蛤?看你一脸问号的说很难看懂。那我帮你排版一下变成这样是不是好看很多:
======= 开始 =======战斗开始。出来吧[皮卡丘]。[皮卡丘]使用[十万伏特]电爆[杰尼龟]。计算伤害。丢出宝贝球收服。战斗结束。======= 结束 =======
这样就容易看懂多了。程序也是一样的概念,硬要一行写完也是可以,只是真的很丑很难看懂。让第二个人容易看懂,不吃力是一件很重要的事情。
那么电脑也是跟我们一样要一行一行的才能看懂指令,然后一行行动作。上一行做的事会影响到下一行的状态。前一行是因,接着是果,因果相连。有点像数学的算式,但是我们依照需求可以做很多变化。那我换英文PHP的语法来举例啰:
//======= Start =======echo"battle start"; // 战斗开始。echo"Pikachu enter the arena"; // 出来吧[皮卡丘]。echo"Pikachu use Thunderbolt"; // [皮卡丘]使用[十万伏特]电爆[杰尼龟]。echo"Damage calculate"; // 计算伤害。echo"Squirtle captcha"// 丢出宝贝球收服。echo"end of battle; // 战斗结束。//======= End =======
上面的简单印出文字指令,可以了解到几个观念:
echo "文字"; 是用来打印出字符串的。程序代码的分号其实就是中文中的句号,分号也就是指令的结尾,每一句都要有。记得指令要换行排版比较容易让人看懂。两个斜线// 后方是注解,可以写任何说明也可以是中文,注解不会被执行。echo 的功能是是打印出后方的字串,这些『字符串』可以用双引号" " 包起来"像这行字被包起来"是不是觉得很简单,捡几个观念就可以自称会写PHP了对了,我的语法里面隐藏有两个错误,有人可以帮忙抓到这些bug吗?
抓到就快去留言!顺便告诉我你有没有看懂,再分享给想一起学程序的朋友!
补一个名词解释:bug念起来类似『霸格』其实就是程序的臭虫,可以泛指语法或逻辑错误。在执行过程中,会导致结果不如预期,要找出来错误的点进行修正。
找出差异,再留言告诉大家差在哪里,为什么要有这个差异?
如果有人问问题,明天我会挑一个最棒的问题来回答:接下来会慢慢深入,毕竟是从0开始,会由浅入深用同样好理解的方式,直到教你搭建出一个完整的网站!
哦对,我们还可以用php写一个很强大的短网址服务,可以替你完成转址以外、很多省时省力的事情只要有想法,学完php你想做什么服务都可以自己做出来,能帮你节省工作所需的时间,甚至能帮你赚钱
(我是从为企业任务发布系统开始的哈哈)
加油,永不放弃!!
最近群里看到他们在聊天,问到PHP(拍簧片)还有发展吗?我就呵呵了,我作为一个刚两年的小菜鸟,发表一下评论,不喜勿喷,谢谢。
数据分析
这是TIOBE中最近的排行榜。
2017-2018排行榜此排行榜只能作为反映某个编程语言的热门程度,并不能说明一门编程语言好不好,或者一门语言所编写的代码数量多少。
由此图可以看出,PHP热门程度依然保持在第六第七,至于前段时间大红大紫的Go语言来说,排名也不是特别的突出吧。
PHP优势
PHP程序猿选择使用PHP的原因开发成本低,周期短,后期维护费用低,开源产品丰富。并且免费~~语法简单,不像Java或者C那么的难易入手(尽管简单,但是精通也不是那么容易咯)。具有很好的开放性和可扩展性。PHP属于自由软件,源代码完全公开,任何程序员为PHP扩展附加功能非常容易。...
大网站使用率
Facebook,这个网站大家应该都是不陌生的吧。Taobao,这个电商网站大家更应该是不陌生咯。Baidu,这个最大的中文搜索引擎,也是用的PHP哦。...一大推呢,不一一列举了
就业角度
大小公司通吃现在几乎所有有前途的公司都会在互联网上安家。只要在网上安家,就需要找这些方面的技术人员,而且很多公司越来越意识到PHP的独特优势,开源、免费,极大降低成本......所以你会有越来越多的就业机会。你可以去大中小公司,只要你的技术力量跟得上,你随时都有可能成为空降兵!各行各业通吃你能想象的到一个做生物科技的公司会给你发面试通知吗?如果你是学地理的、学历史的,估计不大可能了。但是你是学PHP的,就非常有可能了,因为该公司需要你去开发和维护公司的网上平台,也可能让你去开发公司内部企业员工管理平台,或者员工共享的虚拟桌面。而且公司发展的好,必然面临越来越多的大数据,更是缺少不了你。比如:我曾收到一个“妇科医院”的面试通知,这不就又多了一个工作岗位?如果你是学地理的,估计这种概率可能就很低了。大中小公司通吃、各行各业都有用武之地,而且随时都可能成为空降兵,任何城市都可以有立足之地,就业范围及其广泛。但注意一个前提,那就是“精通”。...
PHP的现状发展
据相关信息得知全球前100万的站点中有70%左右的站点用PHP开发,它与Linux/Mysql/Apache/Nginx等组成黄金搭档,无论是成本的投入还是开发的周期,选择PHP都是一个不错的选择。
特别是在今天互联网迅速发展的今天,PHP凭着速度快、开发成本低、周期短、后期维护费用低、开源产品丰富等优势快速在市场上占领先机,这些优势也是其它语言无法比拟的。PHP技术和相关的人才,正是迎合目前的互联网的发展趋势,更多的PHP开发人员凭借着高工龄就可以领到高薪酬。
总结
总的来说呢,PHP在入门、就业、或者是你当做梦想的情况下,都是可以的。
但是说一句吐槽的话,因为培训机构的大量崛起,到时PHP行业比较紊乱,刚培训出来的漫天要价,导致真正的PHP程序猿很是尴尬,希望刚刚入坑的他们,稳点就好了,毕竟不能一口吃成一个胖子。(仅就事论事,不针对于各大培训机构)
在这个行业,尽管入门很简单,但是作为庞大PHP程序猿流中的一员,也不能放弃学习,且记住,语言只是工具。
一张PHP的大象图献给大家。
PHP致谢
感谢各位看完本篇文章,仅以一个两年的经验来探讨一下PHP的前景,不喜勿喷。我也不是一个大佬。互相学习把。晚安,谢谢。
Php是超文本预处理器(Hypertext Preprocessor)英文全称首字母的缩写,php从1995年发展到现在现在已经成为流行开发动态网站的程序开源服务器端语言。它融合了c、java、perl语言一些好的特点成为网站开发最佳的工具。
php工作原理php工作原理是什么?
PHP、Apache和MySQL的组合已经成为Web服务器的标配,php可以做很多事情,PHP是服务端的脚本程序,需要安装php应用程序去解释执行,简单来说php是web服务器(iis、apache)功能扩展,这种结构更加适合网站原理,php需要和web服务器、数据库一块才能发挥功能。
php常用功能下面为大家简单介绍php常用功能有哪些?
1.收集表单数据
表单是最常用的数据收集界面。在提交时可以用GET或POST的方法将数据发送给PHP程序脚本。另外PHP也可以以变量的形式访问每一个表单域,这些功能使php再收集客户输入的数据是非常简单的。
2.生成动态网页
PHP和JavaScript不同是php运行在服务器端,可以根据客户端不同请求动态输出内容,而客户端接受数据却不知道背后代码如何运行的,而javascript客户端运行的语言无法做到这点。
3.字符串处理
在处理文本时,经常要处理各种字符串,字符串处理是程序员使用最多技术之一,而PHP是把字符串作为基本的数据类型来处理。另外PHP中提供了丰富的字符串函数,来供我们使用。
4.动态输出图像
PHP通过使用GD扩展库来动态输出图像,登录大多数的验证码就是使用这个功能,我们也可以使用缩略图和添加水印等图像处理功能。
5.处理服务器端文件
要想让数据可以长期保留,必须要使用数据库或是文件系统,PHP可以利用文件系统函数任意操作服务器中的目录或文件(编辑、删除、创建等功能)。
6.会话控制
我们使用HTTP协议访问网站时它是一个无状态,没有内建机制来维护两个事务之间的状态。换句话来说http无法区分两个请求是否都是来自一个用户请求,而PHP就可以使用会话控制在网站中跟踪一个用户,控制该用户的行为。
以上的6项是php中常用的功能,剩下的就不一一列举,大家有什么好的想法可以发表意见欢迎发表一块讨论下。
PHP语法
PHP 脚本可以放在文档中的任何位置,以 “<?php ”开始,以“ ?>” 结束,也可以在PHP脚本中使用HTML标签等;
<!DOCTYPE html><html><head><meta charset="utf-8"></head><body><h1>我的第一个 PHP 页面</h1><?php/** * Created by PhpStorm. * User: Lucifer * Date: 2019/7/8 * Time: 18:35 *///开始和结束标签中间可以书写想要展示的内容//PHP代码段可以嵌套在HTML中,也可以在PHP代码段中输出HTML语句echo "<div style='width: 250px;height:250px;border: 1px solid fuchsia;background-color: bisque'></div>";?></body></html>
运行结果:
PHP 中的代码行都必须以分号结束。分号是一种分隔符,用于把指令集区分开来;
PHP 有两种注释方式:“//”用于单行注释,“/* */”为多行注释;
<?php//这里是我的单行注释 echo "这是枫哥哥的第一段PHP代码"; /* 我这里注释了多行, 在这段注释中的内容都不会显示在前台页面中 */?>
PHP的输出方式
PHP的基本输出方式有两种:echo 和 print。两种基本输出方式都可以在页面中输出内容,都是语言结构,使用的时候可以加上括号,也可以不用加括号: echo/print 或 echo()/print()。
<!DOCTYPE html><html><head><meta charset="utf-8"></head><body><?phpecho "这是echo输出<br>";echo("这是echo()输出<br>");print "这是print输出<br>";print("这是print()输出<br>");?></body></html>
运行结果:
虽然看起来两种输出方式看起来没有区别,但是echo 输出的速度比 print 快, echo 没有返回值,可以输出一个或者多个字符串;print有返回值,值为1,只能输出一个字符串。
除了基本输出外,还可以使用 var_dump() 输出类型和值 和 var_export() 输出结构信息。
PHP曾经开启了我作为开发的职业生涯,但是,现在呢?
作者 | Aphinya Dechalert
译者 | 弯月,责编 | 郭芮
以下为译文:
如今,我们很少在主流媒体中听说有关PHP的新闻了。在这个Angular、React、Node.js以及Python占据顶流的时代,就连计算机科学学位也都把焦点集中在Java和C语言上了。
与此同时,PHP只能默默地蜷缩在角落里,注视着其他语言走红。
15岁那一年,我开始学习编程,而最初接触的就是PHP。从那以后,我经历了一段漫长的旅程,期间还曾接触过Java和JavaScript,然而PHP总是会在不经意间悄悄地出现在我的职业生涯中。
如今,PHP是生还是死?我们是不是已经被铺天盖地的JavaScript报道蒙蔽了双眼,成为了井底之蛙?下面就让我们通过本文来一探究竟吧。
79%的Web
当有人提到PHP时,很多人往往会表现出对这种语言的嘲讽,然而根据W3Techs的一份报告,如今79%的Web仍在使用PHP。尽管在90年代-2000年初,PHP曾因安全问题而声名狼藉,但它仍然是服务器端最常用的语言。
然而,这种成功在很大程度上是因为它与WordPress的紧密绑定关系。CMS的广受欢迎可以追溯到2003年,当时正值互联网与个人博客开始走向主流。WordPress击败了Google的Blogger,成为CMS在主要非技术市场的首选。
WordPress旨在帮助大众制作普通的网页,而且它打破了制作CMS的技术门槛。
根据Matt Mullenweg在2014年访问新西兰奥克兰期间的讲话,他提到Squarespace的Superbowl广告为WordPress提供了免费的广告宣传,因为当时的比较平台是用WordPress搭建的。
由于WordPress是用PHP构建的,因此几乎所有共享托管服务提供商均支持PHP,所以PHP依然占据着61.5%的互联网。因此,PHP作为一种语言似乎并不会在短期内消亡。
即使WordPress决定用另一种语言重新构建,仍然有大量的旧站点需要迁出,并迁移到新的环境中。
瞬息万变的大环境
PHP与WordPress的紧密联系会影响到开发人员对这种语言的看法。它常常与WordPress生态系统的主题和插件开发息息相关。
在与WordPress相关的活动之外,PHP的使用大多涉及遗留的定制平台。通常,对于创业公司或新业务项目而言,没有人会将PHP作为潜在的候选。
根据英国招聘机构Darwin Recruitment公布的招聘需求数据显示,PHP招聘需求呈现出逐年下降的趋势。
然而,PHP岗位的申请竞争却呈现出上扬的趋势。这两种相反的趋势表明PHP岗位的申请压力并不会随着时间的推移而降低。
看到这里,你可能想说,这只是其中一家机构的报道,他们统计的趋势可能不准。然而,在过去的5年中,全球范围内人们对“PHP”一词的搜索兴趣呈现出持续的小幅下降趋势,其中搜索次数最多的国家是中国和菲律宾。
有趣的是,“PHP”一词搜索量的起伏恰恰与“WordPress”相吻合。
过去5年中Google上的搜索趋势,蓝色为PHP,红色为WordPress。
主题市场如何?
由于PHP与WordPress的捆绑关系,定制主题以及创建插件似乎才是主要的商业机会,尤其是当你希望成为这方面的自由职业者时。
目前,ThemeForest是与WordPress相关的最大商业市场,有114位作者的收入超过100万美元,这个收入看似很多,然而放眼4.7万个活跃的WordPress主题市场,这笔数目其实微不足道。我们没有简单的方法统计每位作者的平均交易数,但他们的总和加起来可能不超过10%。
尽管这也算得上一项良好的被动收入渠道,但是要作为一家企业运营可能需要付出更多努力。但是,所有的付出都有各自的回报。
2013年,为了在WordPress主题市场上分一杯羹,托管业务巨头BlueHost收购了Mojo Themes,并更名为Mojo Marketplace。然而,它没有取得Envato的ThemeForest那样的成功,其大部分主题销售量都不到1000份。
写在最后
PHP尚未完全消亡,但也失去了生机,无法像JavaScript那样在开发生态系统中撑起一片天。PHP作为服务器端的语言与WordPress保持着亲密的关系,其立足之本仍然是普通用户对该平台的长期依赖。
由于PHP已成为内容创建生态系统不可或缺的一部分,因此它不可能在一两年或短期内消失。托管业务公司在持续支持WordPress作为首选的CMS方面也发挥了作用,与其他服务器端语言(比如Java、C++等)相比,对普通用户来说,WordPress更易于使用。
尽管有关PHP已死的传言满天飞,然而事实却并非如此,只要WordPress还活着并正常运行,PHP就不会消亡,况且如今的WordPress依然生龙活虎。不幸的是,许多遗留的PHP代码与旧版的WordPress捆绑在一起,而这些网站的所有者未能完全更新这些旧版本。
此外,PHP还拥有强大的社区在积极推进WordPress之外的活动,例如Laravel和Symphony,尽管我并未在本文中具体探讨。而且PHP本身也得到了积极维护,其下一版本计划于2019年11月发布。
因此,总的来说,PHP一切安好。
原文:https://medium.com/@PurpleGreenLemon/is-php-dead-or-alive-611ae8e7e6e3
本文为 CSDN 翻译,转载请注明来源出处。
请点击输入大家都图片描述
大家都知道PHP是世界上最好的语言,我写php代码有十年的工作经验了,现在给大家分享一下开发过程中的各种坑,为了照顾刚入门的同学,我就先从基础的地方开始分享。
1:PHP这门语言是做什么用的?
PHP 是服务器端脚本语言。主要是用来做网站建设的,目前市面上90%的网站都是用php来编写的,比如:以前的淘宝网,凤凰网。
2:PHP这么语言长什么样?
下面这个是最简单的php代码。php是双标记语言有一个开始标记<?php 和一个结束?>标记,中间就是php代码。
3:PHP运行环境。
一般PHP是在是Lnmp,Lamp,Wamp和Wnmp这四种环境下面运行,php想要运行起来必须先要搭建环境,最简单就是wamp环境,Linux 是服务器端的开源系统,相对于window很安全。
lnmp:L 是表示linux 操作系统,n表示nginx,m表示mysql,p是表示php。
lamp : L是表示linux 操作系统,a表示apache,m表示mysql,p是表示php。
wamp:w是表示window操作系统,a表示apache,m表示mysql,p是表示php。
wnmp:w是表示window操作系统,n表示nginx,m表示mysql,p是表示php。
mysql是数据库的意思,存放数据的地方,后面会和大家详细讲解。
4:PHP八种数据类型
1、boolean (布尔型):可以理解为 真 和 假。取值只有 true 或 false;true和false是PHP的内部关键字。
2、integer (整型):可以理解是整数,整型数据类型只能包含整数。可以用十进制、八进制、十六进制来表示。八进制的数字前必须加0,十六进制需要加0x。
3、float / double (浮点型):可以理解为小数,浮点数据类型可以用来存储数字,也可以保存小数。它提供的精度比整数大得多。
4、string (字符串):字符串是连续的字符序列,由数字、字母和符号组成。
5、array (数组):数组是一组数据的集合,它把一系列数据组织起来,形成一个可操作的整体array('a'=>'aa','b'=>'bb','c'=>'cc')。
6、object (对象):编程语言所应用到的方法有两种:面向过程和面向对象。
7、resource (资源):在使用资源时,系统会自动启用垃圾回收机制,释放不再使用的资源,避免内存消耗殆尽。
8、null (空值):空值,表示没有为该变量设置任何值,空值(null)不区分大小写。
4:PHP用到的IDE也就是我们说的编辑器。
1:Zendstudio 2:PhpStorm 3:Eclipse 4:Dreamweaver都可以
1、java和php技术层面对比
java是纯面向对象开发,功能强大,分支众多,没有java不能做的软件。C/S也好B/S也好。从功能上讲,没有语言可以和java相比。但其优势也是其劣势,具体参考后面的瓶颈解释。PHP属于后起之秀,吸收了java和c以及perl等语言优点,专注互联网领域。在WEB领域中PHP拥有得天独厚的优势,WEB领域没有语言可以和PHP相比。两者相比较,基本上java完胜。但是其实并没有太大的可比性,因为专注领域不同。单纯拿两者都可以做的WEB来说,PHP完胜。
2、java和PHP的发展空间对比
安卓势头很猛,但手机安装app数量有限,推广难,也是app面临的最大挑战,好在安卓只有JAVA可以做,除此之外就是HTML5了。中国人口占全球人口19.7%,中国网民占全球网民22.4%,中国网站数量占全球网站数量的0.5%;发达国家互联网对GDP的贡献可达20%,中国互联网对GDP的影响仅为3%。可见互联网的发展空间巨大,而互联网离不开WEB,WEB离不开PHP。两者相比,个人觉得PHP的优势更加明显。
3、java和PHP安全性对比
在同是开源和跨平台的java面前,php丢掉了很多的优势,在代码的安全性上尤为突出。php的开发程序在别人拿到代码后,可以很容易的进行修改。而java开发的程序由于无法看到完整的源代码,只能看到一些编译好的类文件,所以安全性较高。加之系统架构的优势,在安全性上php和java是相去甚远。如果非要将php和java在安全性上做个比较的话,同一个小偷光顾php那就是随便拿来随便改,想拿什么拿什么,拿的高兴还能大笔一挥某某到此一游。而光顾java的时候,便会发现有警察把守,内设自动报警装置,即便突破重重阻扰进入居室。却发现值钱的东西都放在加密后的保险柜中,只能望洋兴叹。
4、java和php发展的瓶颈
Java体系曾经统治企业级软件开发长达数十年之久,十年间英才辈出,但是Java语言本身却越来越显示出臃肿和分裂的态势。使用Java是个昂贵的选择,复杂的需求设计, 缓慢的项目进度,昂贵的应用服务器和维护难度使Java成为了一种庙堂之上的语言。而版本的分裂也使所谓的跨平台特性成为了一句空话。Java的特性使得它并不适合业务随着市场快速变化的互联网企业,要不是安卓的出现,java的命运还真不好说了。php的大中型系统开发,方便、快速、是java跟asp.net没法比拟的, php有很多如yaf,yii,ci等强大的框架, 中小型系统的开发,一个thinkphp就足于通杀java的ssh三大框架了。
所谓成也萧何败也萧何,PHP由于其关注应用层面,开发基本不需要考虑底层的东西,快速开发等特点,导致了开发复杂应用稍显吃力;也由于学习简单,学习PHP工作一段时间比较容易遇到瓶颈,PHP在5.3版本后加入了更为强大的扩展,通过PHP的扩展可以实现PHP本身实现不了的功能。所以PHP开发遇到了这样瓶颈,可以考虑通过扩展来解决,很多企业正在大量使用扩展功能去应对一个又一个的难题,扩展是被他认为PHP最伟大的地方。
总结一下:WEB领域几乎被PHP一统天下,嵌入式领域几乎被C++一统天下,客户端领域几乎被C语言一统天下;从整体来说php适用于中小型系统,而java适用于大型系统。Php能够将单一的事件做好,但却不适合完成集成度较高的多项并发事件。java和PHP各有各的优势,在这里我想说的是不管学习哪一种语言,都是OK的。想学java就从事安卓行业,想从事WEB领域,就学习PHP。由于java的难易程度,大家还是谨慎选择,对于零基础的小伙伴儿来说,PHP可能更加适合一点
犹记得,据 2001 年 7 月的 PHP 官方文档描述,“PHP 是有史以来最好的语言,没有之一。它快速,非常强大,而且免费。"不过,随着时间的迭代,不少开发者发现所谓世界上最好的语言 PHP,虽然能极大地提升性能,但是其功能不够完善最终导致 PHP 开始走上了下坡路,对此,你怎么看?
作者 | Italo Baeza
译者 | 孙薇,责编 | 屠敏
以下为译文:
自Wordpress、Drupal、CakePHP、Laravel、Symfony及许多其他的Web应用程序走上舞台以来,人们发现语言程序的创建如此简单,似乎也让语言出现了某种类似二次复兴的迹象。虚拟主机Web hosting再加上PHP + MySQL + Apache堆栈,就像野火一般迅速蔓延,突然每个人都在十分钟里建起了自己的网站:博客、购物车、相册等等,应有尽有。
PHP的支持者们乐于致力改善这门语言,最终他们成功了——迟钝的老版本逐渐被替换掉,PHP 7在性能和功能方面都更优,PHP 8甚至还支持JIT引擎。
但我认为,之后PHP会慢慢消失,甚至完全被淘汰。根据官宣,PHP 8的唯一主要功能就是JIT引擎——在CPU受限的场景中能提高性能,但也仅此而已,其他更新微不足道,不会对我们现有或未来的应用程序产生任何影响。
性能不会成为致命的问题,但功能缺乏才是问题。
暂时的胜利,最终的失败
在PHP5暴露问题(慢、依赖混乱、功能缺乏)的同时,Ruby、Python、Node.JS和Go都开始受到大众关注。Go出现得比较晚,但无论如何,我们可以看到这些语言的用途:
Websockets非阻塞IOPromises实现(即“在我执行其他任务时,完成此项任务”)更佳的数据流本地服务器部署桌面/移动应用的用法更干净的配置(如php.ini)软件包管理(后由Composer修复)这些新功能除了composer,全都不包括在PHP的核心功能中,甚至宣传和计划中都不涵盖。基本上,官方是让PHP社区自行决断要自己做这些功能,还是干脆放弃了事。
你可能会说,这些功能并非各个项目必需的,其可用性要取决于具体情况,这话没错,但要实现上述功能,我们必须要选择是用非官方的程序包,还是自己做一个。
举个例子,我们看一下WebSockets:必须在Ratchet、Swoole、Amp和React中作出选择。这意味着,针对关键性功能,作为开发人员,我们不但要确保遵守程序包的相关文档,保证程序包的可维护性,还要关注PHP的版本更新情况,才能保证不出问题。我可以想象,PHP8出现时,要在新版本上稳定下来,需要花费数周乃至数月的时间。
Swoole的案例是可以再讨论的。目前开发者可能不太热衷于使用这个麻烦缠身的软件,尤其是考虑到语言障碍的问题,但如果想要进一步研究的话,可以点击这里查看开源代码。
虽然近来,人们的关注点有些偏移向语言本身添加某些helper和命令,但这些helper方法的混乱也是多年来未曾解决的问题:ucfirst(), strtolower(), str_replace()…我们为什么不能在使用统一命名上达成一致?为什么直到今日,仍然没有人能从数组中提取一些键?
回到重点,不要误会我反对使用第三方程序包,但我希望负责PHP本身的人员比随机的公司拥有更多的可维护性。
而且别让我用台式机或者移动应用程序。PHP是一种面向Web的语言,大多数开发者都默认这一点,但即便Node.JS被逐出了市场,PHP也不会有希望成为相应生态系统中的替代品。
具体到Node.JS的案例中,很大可能JavaScript编写的部分服务器代码模块是可以重用在之前的移动或桌面应用中的。对公司所有者而言,这意味着公司不必再雇佣另一个有其他语言经验的开发者了,除非收益大过成本。
恐怕这就是我们将要面临的局面:
应用一开始用PHP代码库开发;管理者索要新功能;某个其他语言会填充PHP不提供的功能区;最终开发者要使用两个生态系统。同样,每种语言都有其特色和要警惕的问题,但我始终认为,一种语言要有功用性,能够让使用者完成自己的任务,而不是让人吃亏——如果不是为了PHP社区的利益,很难设想PHP会达成以上要求。
未来严峻
事实上,PHP8出现时会使用JIT编译器,但PHP背后没有核心开发者。而且Rogue Weave公司也更倾向于Zend Server,而非持续推动PHP核心Zend引擎的开发。这些功能可能永远无法实现,而且在这些问题列入考量时,Node.JS和Go等语言也已经拥有了更广阔的生态系统。
据我了解,JIT编译器应当允许开发者使用纯PHP而不是C++来创建扩展套件,这样性能损耗较低,可能会让语言功能发展得更快些,但创建者所提供的支持和/或可维护性也是语言持续的保证,否则难说软件包维护者是否会像Predis那样选择退出。
综上,在我看来,功能匮乏将使得PHP慢慢消失,而其他语言则会继续向前发展。
原文:https://medium.com/@DarkGhostHunter/php-could-fade-away-in-the-next-decade-584e46d760db
本文为 CSDN 翻译,转载请注明来源出处。
在PHP中“|”和“||”都是OR(或)运算符,那么它们之间有什么区别?下面本篇文章就来带大家认识一下运算符“|”和“||”,对它们进行简单比较,了解它们之间的区别。
运算符“|”
它是一个按位OR运算符,二元运算符;它对变量的位进行操作。如果有两个变量a,b,进行$a | $b;则是将把 $a 和 $b 中任何一个为 1 的位设为 1。
示例:
$a = 3; $b = 10; echo $a | $b; ?>
输出:
说明:
在上面的示例中,给定两个值,a = 3和b = 10;然后将这两个数字转换为二进制数,即a = 0011和b = 1010;最后应用OR(|)运算并计算$a | $b的值。
运算符“||”
这是一个逻辑OR运算符,布尔运算符;它对变量的布尔值进行操作。如果其中任何一个变量的布尔值为true,则$a || $b的值为1。
示例:
$a = 3; $b = 10; echo $a||$b; echo ''; if($a = 3 || $b = 0) echo '1'; else echo '0'; ?>
输出:
说明:
在上面的示例中,给定两个值,a = 3和b =10;因此变量a和变量b的布尔值都为true,则$a||$b的值为1;在if语句中,检查其中一个条件是否为真,因为变量a值被设置为3,布尔为true,因此执行“$a = 3 || $b = 0”的值为1。
以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。更多精彩内容大家可以关注php中文网相关教程栏目!!!