优点一:状态
每一个网页请求都是从一个完完全全的白板开始。除了提供原始功能和生命支持的标准的全局变量,函数和类以外,它的命名空间和全局变量都是未初始化的。通过从已知状态开始每一个请求,我们可以得到一种本质上的故障隔离;如果请求t遇到了软件的缺陷和失败,这个缺陷不会直接干扰后续的请求t+1。状态驻留在程序堆以外的其他地方,当然它有可能有状态地弄糟数据库,或者缓存,或者文件信息系统。但是PHP和所有允许存在的可能环境分担了它的弱点。隔离请求堆从另一个方面降低了大多数程序缺陷的成本。
优点二:处理并发的优势
一个独立的网络请求运行在一个单独的PHP线程上。乍看,这似乎是一个愚蠢的限制。但是一旦你的程序执行在一个网络服务器的上下文中以后,我们就有了一个可用的自然并发:网络请求。异步地CURL到本地服务(甚至是网络服务)提供了一个开发并行性的无共享,拷入/拷出的方式。在实践中,这对错误来说比大多数其他通用语言提供的锁共享状态方法要更安全,更具有弹性。
优点三:事实上PHP程序在一个请求级别操作意味着程序员的工作流程是快速而有效的,并保持随着应用的变化而快速变化。许多开发者使用的语言声称是这样,但是如果它们没有为每一个请求重置状态,主事件循环将和请求共享程序级状态,它们几乎总是需要一些启动时间。例如,对一个典型的Python应用服务,调试周期看起来像这样想;编辑;重启服务;发送一些测试请求。即使重启服务只花了几秒,但这也会让我们人类有限的大脑为了保持到微妙状态浪费15到30秒的时间。
我敢说,PHP简单的想,编辑,重新加载页面周期让开发者更有效率。在一个漫长而复杂的软件项目的生命周期过程中,这提高了生产力。
如果上面所说的全都是对的,那为什么还有那么多人不喜欢PHP呢?当你抛开各种各样夸张的说法,对于PHP的抱怨,最多聚集在几个最基本的原因:
缺点一:未知类型转换
程序员这些天几乎在比较所有的语言,例如整数和浮点数与=运算符;heck,甚至C都是允许。其意图是完全清楚的。不太清楚的是使用==比较字符串和整数意味着什么,不同的语言做出了不同的选择。PHP在这个部分的选择是特别不恰当的,这导致了异常和未检测到的错误。
缺点二:值语义,引用的不一致
PHP3有一个明确的语义--赋值,参数传递和返回都是通过值来传递,创建一个问题的数据的浅拷贝。程序员可以选择参考语义与注释[2]。这将与PHP4和5中引入了面向对象的编程程序冲突。PHP的面向对象符号大部分是从Java借鉴的,Java具有通过引用处理对象的语义,而基本类型由值来处理。所以PHP的语义的当前状态是对象通过引用传递(选择Javaover,比如说C++),基本类型通过值传递(其中Java,C++和PHP允许),但是旧的引用语义和&表示法依然保留,有时候与新的方式对接会出现未知的现象。
以上就是从php专业角度进行了分析,当然php的优点并不止于此,小编认为他最大的优点在于其开源免费,这也是市场占有率高的根本原因,也造就了php的强大,那么php培训哪里才能学到这么好的后端技术呢,不妨来优逸客看看哦!