PHP5.3, PHP5.4, PHP5.5新特性】的更多相关文章

<?php /*php5.3*/ echo '<hr>'; const MYTT = 'aaa'; #print_r(get_defined_constants()); /* 5.4 新增短数组语法,比如 $a = [1, 2, 3, 4]; 或 $a = ['one' => 1, 'two' => 2, 'three' => 3, 'four' => 4]; . 新增支持对函数返回数组的成员访问解析,例如 foo()[0] . 现在 闭包 支持 $this .…
PHP5.4 此次更新的关键新特性,包括:新增traits,更精简的Array数组语法,供测试使用的内建webserver,可以闭包使用的$this指针,实例化类成员访问, PHP 5.4.0 性能大幅提升, 修复超过100个bug. 废除了register_globals, magic_quotes以及安全模式. 另外值得一提的是多字节支持已经默认启用了,default_charset从ISO-8859-1已经变为UTF-8. 默认发送“Content-Type: text/html; cha…
PHP7 已经出来1年了,PHP7.1也即将和大家见面,这么多好的特性,好的方法,为什么不使用呢,也希望PHP越来越好. 在这里整理 PHP 5.1 ,PHP5.2,PHP5.3,PHP5.4,PHP5.5,PHP5.6 ,PHP7,PHP7.1 所有新特性,已备大家学习及使用 PHP5.1~PHP5.6 http://blog.csdn.net/fenglailea/article/details/9853645 PHP7~PHP7.1 http://blog.csdn.net/fenglai…
概述 本文主要写给sa看的.码农就不用看了. mysql native driver(mysqlnd) 自从php5.3.0开始成为官方源代码的一部分, 用来取代传统的mysql client library(libmysql). mysqlnd是C语言写成的PHP扩展(PHP extension). php5.3.0之前,码农们操作数据库使用的mysql扩展函数(mysql_connect,mysql_query等函数), mysqli系列函数, PDO MYSQL函数,都是通过libmysq…
PHP 5.3中的新特性 1. 支持命名空间 (Namespace) 2. 支持延迟静态绑定(Late Static Binding) 3. 支持goto语句 4. 支持闭包.Lambda/Anonymous函数 5. 新增两个魔术方法__callStatic()和__invoke() 6. 新增Nowdoc语法 7. 在类外也可使用const来定义常量 8. 三元运算符增加了一个快捷书写方式: 9. HTTP状态码在200-399范围内均被认为访问成功 10.支持动态调用静态方法 在PHP5.…
  1.PHP 5.3中的新特性 1.1 PHP 5.3中的新特性 1.1.1. 支持命名空间 (Namespace) 毫无疑问,命名空间是PHP5.3所带来的最重要的新特性. 在PHP5.3中,则只需要指定不同的命名空间即可,命名空间的分隔符为反斜杆\. select.php <?php namespace Zend\Db\Table; class Select {} 这样即使其它命名空间下存在名为Select的类,程序在调用时也不会产生冲突.代码的可读性也有所增加. 调用方法 call.ph…
PHP5.4.0新特性研究 1.内建Web Server 这的确是个好的改进,大大的方便了开发人员.以后开发机不装nginx,httpd也行 cd $PHP_INSTALL_PATH ./bin/php -S <addr>:<port> -t <docroot> 如: 前台运行: ./bin/php -S localhost: -t /data/www/ 后台运行: ./bin/php -S localhost: -t /data/www/ >> /tmp/…
1 生成器 yield关键字yield的中文文档在这里:http://php.net/manual/zh/language.generators.overview.php查看文档,能知道yield的一个功能就是能有效的降低迭代的内存开销.比如官网的这个xrange例子: <?php function xrange($start, $limit, $step = 1) { for ($i = $start; $i <= $limit; $i += $step) { yield $i; } } e…
1.首先对之前滥用的语法进行了规范 众所周知PHP在语言开发过程中有一个很好的容错性,导致在数组或全局变量中包含字符串不使用引号是可以不报错的,很多业余的开发者因为懒惰而产生的安全问题十分严重,之所以PHP5.3对所有基本的语法进行了重新整理和提高写作规范,其实对PHP开发者来讲写作上并没有太大的影响,只是让他们变的更加专业. 2.MySQL驱动Mysqli 提高效率 一直以来,php都是通过mysql客户端连接mysql,而现在mysql官方已经推出php版的mysql客户端,而这个mysql…
1. PHP5.3中的新特性 1.1 支持命名空间(namespace) 毫无疑问,命名空间是PHP5.3所带来的最重要的新特性. 在PHP5.3中,可以用命名空间防止代码的冲突,命名空间的分隔符为 \ 反斜线. 1.2 通过static关键字,实现方法的延迟静态绑定 在PHP中,我们可以在类中通过self关键字或者CLASS来判断或调用当前类.但有一个问题,如果我们是在子类中调用,得到的结果将是父类.因为在继承父类的时候,静态成员就已经被绑定了.例如: <?php class A { publ…
看了@轩脉刃 今天出炉的PHP 5.5 新特性.不过没有翻译全,我这里稍微补充下,整理成完整的一篇:) 原文:http://www.php.net/manual/zh/migration55.new-features.php 生成器 php5.5通过引入yield关键字来支持generators.Generators提供了一种更加简洁的生成迭代器的方式,无需通过笨重复杂的Iterator接口. 一个简单的示例:利用generators实现和range函数一样的迭代功能 function xran…
php5.6.x到php7.0.x特性 1.标量类型声明 字符串(string), 整数 (int), 浮点数 (float), 布尔值 (bool),callable,array,self,Class/interface name 2.返回值类型声明 定义参数类型和返回值类型 function test(int $a):int{} 如果不按规定传参会返回异常 3.null合并运算符 null合并运算符 (??) ,等同于三元运算符 $name=$_GET['name'] ?? "test&qu…
ubuntu12.10以后,默认的deb安装库上面的php版本已经是5.4了,公司的项目使用5.4的时候,还是会出现很多问题,所以不得不降级安装5.3 顺便说一句,我原来的环境是nginx + php5.4 + mysql 的,现在只是把php5.4降级到php5.3,其它的不修复. 新建一个叫做down_to_php53.sh,然后复制下面代码进去 #!/bin/bash # # Original for 5.3 by Ruben Barkow (rubo77) http://www.enti…
最近做的项目使用了 php7,但感觉有很多新特性没有用起来.就想总结一下,一些可能会用到的新特性.之前使用的环境是 php5.4,所有也会有 php5.5 和 php5.6 的特性总结进来,这里只列出我觉得在项目中可能用到的特性,主要内容来自 php手册的附录. Generators (PHP 5 >= 5.5.0, PHP 7) 通过添加 yield 关键字支持了 generators,Generators 提供了一个更简单的方法实现迭代器,不需要实现 Iterator 接口. <?php…
文章转自:http://wulijun.github.io/2013/07/17/whats-new-in-php-5-5.html http://www.cnblogs.com/yjf512/p/3164400.html 生成器(Generators) 生成器是其中最令人期待的一个新特性,它使得开发者无需实现迭代器接口,就能实现遍历功能.编写一个实现迭代器接口的类,需要拷贝很多重复 的代码,现在使用生成器,就可以减少代码量和复杂度. 生成器通过新增的关键字yield实现,外形和普通函数类似,但…
paip.php 5.0 5.3 5.4  5.5 -6.0的新特性总结与比较 PHP5的新特性 2 · 对象的参照过渡是默认的(default) 3 · 引入访问属性的限制 3 · 引入访问方法的限制 3 · 抽象类和抽象方法 3 · 接口 3 · final声明 3 · 名空间 3 · 类内常量 3 · 类变量 3 · 统一构建器 3 · 析构函数(Distructor) 3 · 其他附属特性 3 ##PHP5.3的新特性你会有个全新的理解和感悟. 4 1.首先对之前滥用的语法进行了规范 4…
PHP 5.6 1.可以使用表达式定义常量 https://php.net/manual/zh/migration56.new-features.php 在之前的 PHP 版本中,必须使用静态值来定义常量,声明属性以及指定函数参数默认值. 现在你可以使用包括数值.字符串字面量以及其他常量在内的数值表达式来 定义常量.声明属性以及设置函数参数默认值. <?php const ONE = 1; const TWO = ONE * 2; //定义常量时允许使用之前定义的常量进行计算 class C {…
整理了一些常用的新特性,欢迎点赞!!! 新增操作符 1.?? $username = $_GET['user'] ?? ''; $username = isset($_GET['user']) ? $_GET['user'] : 'nobody'; 2.<=> $number1 <=> $number2; 当 $number1 小于.等于.大于 $number2 时 分别返回 -1,0,1 新增函数 intdiv(被除数, 除数) — 对除法结果取整 intdiv(3, 2) //…
经过了长时间的开发测试,新版本PHP程序(PHP5.6正式版)终于发布了.新版本中加入了一些实用的新特性,也摒弃了一些冗余的功能.同时,也对部分原有功能进行了改进.下面就一起看看PHP 5.6正式版到底有何不同之处吧! 新版本在旧版基础上做出的改进 PHP 5.6中对旧版本PHP做出了不少改进.不过,大部分PHP5代码在新版本PHP中都是不需要修改也可以正常运行的. json_decode函数 根据JSON的规范,json_decode()函数会自动排除JSON文本中所有非小写变量(比如:tru…
PHP7.1 新特性 1.可为空(Nullable)类型 类型现在允许为空,当启用这个特性时,传入的参数或者函数返回的结果要么是给定的类型,要么是 null .可以通过在类型前面加上一个问号来使之成为可为空的. function test(?string $name) { var_dump($name); } 以上例程会输出: string(5) "tpunt" NULL Uncaught Error: Too few arguments to function test(), 0 p…
重写ZenVM,性能比PHP5.6提升300% 新特性: 1.变量类型(为PHP7.1的JIT特性做准备)function test(int $a, string $b, array $c) : int { } 2.错误异常 try -- catch 性能优化: 1.zval使用栈内存,节省内存分配 2.zend_string存储hash值,array查询不需要重复计算hash值 3.hashtable桶内直接存数据,减少内存申请次数 4.增加4种OPCODE 5.基础类型int/float/b…
PHP7于2015年11月正式发布,本次更新可谓是PHP的重要里程碑,它将带来显著的性能改进和新特性,并对之前版本的一些特性进行改进.本文小编将和大家一起来了解探讨PHP7中的新特性. 1. 标量类型声明 我们知道PHP是一种弱类型的编程语言,因此没有提供任何方法来指定输入参数和返回值的类型,PHP7突破了这种现状,增加了对标量类型(int,float,string,bool)的声明支持,增加declare(strict_types=1)指令声明是否严格类型校验,我们来看一段代码: declar…
我以前用过的php的最高版本是php5.6.在换新工作之后,公司使用的是PHP7.据说PHP7的性能比之前提高很多.下面整理下php7的新特性.力求简单了解.不做深入研究. 1.变量类型声明 函数的参数使用严格模式时,如果传入的参数数据类型不一致会返回一个TypeError异常 可声明的数据类型有:Class/interface.self.array.callback.bool.float.int.string.[参考资料-函数参数](http://php.net/manual/zh/funct…
到目前为止,PHP7发布已经升级到7.3,本文来总结一下每个版本的变更与新特性 PHP7.0 1. 组合比较符 (<=>) 组合比较符号用于比较两个表达式.当$a小于.等于或大于$b时它分别返回-1.0或1,比较规则延续常规比较规则.对象不能进行比较 var_dump('PHP' <=> 'Node'); // int(1) var_dump( <=> ); // int(-1) var_dump(['a', 'b'] <=> ['a', 'b']); //…
php7.x版本系列相比之前的php的版本提交性能提高了不少,这里面其中的一些主要改变是性能提高的关键,主要有以下内容. 1.zval使用栈内存   在zend引擎和扩展中,经常要创建php变量,其底层就是一个zval指针,之前的php版本都是通过MAKE_STD_ZVAL动态的从堆内存上分配一个zval内存.而php7直接使用栈内存,好处是少了一次内存分配.php程序中回大量创建变量,所以php7会在栈上预分配一块内存来存放这些zval,来节省大量的内存分配和管理操作. php5 zval *…
使用 ... 运算符定义变长参数函数 (PHP 5 >= 5.6.0, PHP 7) 现在可以不依赖 func_get_args(), 使用 ... 运算符 来实现 变长参数函数. function f($req, $opt = null, ...$params) { // $params 是一个包含了剩余参数的数组 printf('$req: %d; $opt: %d; number of params: %d'."\n", $req, $opt, count($params)…
php 7 比php 5 性能提升了很多,php 7 新特性主要表现在:1.变量存储字节减小,减少内存占用,提升变量操作速度:2.改善数组结构,数组元素和hash映射表被分配在同一块内存里,降低了内存占用.提升了 cpu 缓存命中率:3.改进了函数的调用机制,通过优化参数传递的环节,减少了一些指令,提高执行效率.下面就随ytkah一起看看php 7 新特性有哪些吧. PHP 7 新功能小结 改进的性能 - 将PHPNG代码合并到PHP7中,速度是PHP 5的两倍. 降低内存消耗 - 优化的PHP…
本文结合php官网和鸟哥相关文章总结: 官网:http://www.php7.ca/   https://wiki.php.net/phpng PHP7将在2015年10月正式发布,PHP7 ,将会是PHP脚本语言的重大版本更新,同时将带来大幅的性能改进和新的特性,以及改进一些过时功能. 该 发布版本将会专注在性能加强,源自PHP版本树中的phpng分支.在硅谷公司的ZendCon会议,PHP工具厂商Zend技术官方讨论phpng和 PHP7的进度.“(本次升级)真正专注于帮助业界的应用程序显著…
关于PHP 20年的发展历史: 迄今为止最流行的WEB开发语言: 超过82%的网站都会使用PHP作为他们的服务端开发语言: 新特性介绍 PHP NG – Zend Engine 3 抽象语法树 64位的 INT 支持 统一的变量语法 新增Closure::call() 一致性foreach循环 匿名类的支持 新增 <=>.**.?? .\u{xxxx}操作符 增加了返回类型的声明 增加了标量类型的声明 核心错误可以通过异常捕获 增加了上下文敏感的词法分析 PHP NG ZVAL 大小从24字节…
php7已经发布有段时间了,查了下正式版本的发布时间是2015年底,至于具体的新特性,在这里总结一下. 标量类型声明 php7新增了4种类型, 字符串(string), 整数 (int), 浮点数 (float), 以及布尔值 (bool). 举个例子: 上述能正常输出结果5,如果改为如下,把参数3改成字符串 就会报错PHP Fatal error:  Uncaught TypeError: Argument 2 passed to sumOfInts() must be of the type…