PHP5.4.0新特性研究
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/access.log >& &
2、数组定义,增加了一种简便写法
$arr1 = array(1, 2, 3);
$arr2 = [1, 2, 3]; // 新增简便写法 print_r($arr1);
print_r($arr2); var_dump($arr1 === $arr2);
结果:
Array
(
[0] => 1
[1] => 2
[2] => 3
)
Array
(
[0] => 1
[1] => 2
[2] => 3
)
bool(true)
熟悉javascript的同学,应该对以上这种写法相当熟悉,呵呵。
3、Traits特性
traits,既有部分接口的特性,又有部分类的特性,可以说是他们杂交的产物。
trait Object {
public function get($key) {
return $GLOBALS[$key];
}
}
trait Common {
public function set($key, $val) {
$GLOBALS[$key] = $val;
}
public function set2($key, $val) {
$GLOBALS[$key] = $val;
}
}
class App {
// 引入trait(类似于多继承)
use Object, Common;
/**
* 此方法会覆盖trait中的set2方法(类的重载特性)
*/
public function set2($key, $val) {
$GLOBALS[$key] = 'Hello world set by App class!';
}
}
$app = new App();
$app->set('foo', 'Hello world!');
echo $app->get('foo');
echo "\n";
echo $app->set2('doo', 'Hello world!');
echo $app->get('doo');
echo "\n";
结果:
Hello world!
Hello world set by App class!
很像多继承,只是它的实现,跟多继承不同,可以参看官方文档说明。
4、上传进度反馈支持
上传进度会存储在SESSION中(默认开启,可在php.ini中修改),也就是说,以后可以用Ajax结合PHP来做上传进度条了。
还有很多其他特性,有兴趣的可以去官网查看,不在此提了。
PHP5.4.0新特性研究的更多相关文章
- Spring Boot 2(一):Spring Boot 2.0新特性
Spring Boot 2(一):Spring Boot 2.0新特性 Spring Boot依赖于Spring,而Spring Cloud又依赖于Spring Boot,因此Spring Boot2 ...
- 浅谈Tuple之C#4.0新特性那些事儿你还记得多少?
来源:微信公众号CodeL 今天给大家分享的内容基于前几天收到的一条留言信息,留言内容是这样的: 看了这位网友的留言相信有不少刚接触开发的童鞋们也会有同样的困惑,除了用新建类作为桥梁之外还有什么好的办 ...
- Java基础和JDK5.0新特性
Java基础 JDK5.0新特性 PS: JDK:Java Development KitsJRE: Java Runtime EvironmentJRE = JVM + ClassLibary JV ...
- Visual Studio 2015速递(1)——C#6.0新特性怎么用
系列文章 Visual Studio 2015速递(1)——C#6.0新特性怎么用 Visual Studio 2015速递(2)——提升效率和质量(VS2015核心竞争力) Visual Studi ...
- atitit.Servlet2.5 Servlet 3.0 新特性 jsp2.0 jsp2.1 jsp2.2新特性
atitit.Servlet2.5 Servlet 3.0 新特性 jsp2.0 jsp2.1 jsp2.2新特性 1.1. Servlet和JSP规范版本对应关系:1 1.2. Servlet2 ...
- 背水一战 Windows 10 (1) - C# 6.0 新特性
[源码下载] 背水一战 Windows 10 (1) - C# 6.0 新特性 作者:webabcd 介绍背水一战 Windows 10 之 C# 6.0 新特性 介绍 C# 6.0 的新特性 示例1 ...
- C# 7.0 新特性2: 本地方法
本文参考Roslyn项目中的Issue:#259. 1. C# 7.0 新特性1: 基于Tuple的“多”返回值方法 2. C# 7.0 新特性2: 本地方法 3. C# 7.0 新特性3: 模式匹配 ...
- C# 7.0 新特性1: 基于Tuple的“多”返回值方法
本文基于Roslyn项目中的Issue:#347 展开讨论. 1. C# 7.0 新特性1: 基于Tuple的“多”返回值方法 2. C# 7.0 新特性2: 本地方法 3. C# 7.0 新特性3: ...
- C# 7.0 新特性3: 模式匹配
本文参考Roslyn项目Issue:#206,及Docs:#patterns. 1. C# 7.0 新特性1: 基于Tuple的“多”返回值方法 2. C# 7.0 新特性2: 本地方法 3. C# ...
随机推荐
- Centos 6.7 安装mongodb
下载mongodb https://www.mongodb.com/download-center#community 2.解压文件 tar -zxvf mongodb-linux-x86_64-3 ...
- SQLite这么娇小可爱,不多了解点都不行啊
简介 SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统.它的设计目标是嵌入式的,目前Android和iOS的设备内置的都是SQLite数据库.SQLite虽然娇小,但也支持事务和 ...
- 使用VMWare虚拟mac系统,设置网络的正确姿势
1. 启动mac虚拟机: 2. 虚拟机-虚拟机设置-网络适配器-选择NAT模式: 3. 打开mac的网络设置,选择使用DHCP模式,并设置DNS服务器为win的DNS: 4. 回到win,控制面板-网 ...
- day26 Python 改变对象的字符串显示
__str__,__repr__,__format__ format_dict={ 'nat':'{obj.name}-{obj.addr}-{obj.type}',#学校名-学校地址-学校类型 't ...
- @ConfigurationProperties 配置详解
文章转自 https://blog.csdn.net/qq_26000415/article/details/78942494 前言新的一年到了,在这里先祝大家新年快乐.我们在上一篇spring bo ...
- 初学Python——文件操作第二篇
前言:为什么需要第二篇文件操作?因为第一篇的知识根本不足以支撑基本的需求.下面来一一分析. 一.Python文件操作的特点 首先来类比一下,作为高级编程语言的始祖,C语言如何对文件进行操作? 字符(串 ...
- ODOO(ERP源码安装)
cat /etc/centos-release CentOS Linux release 7.4.1708 (Core) uname -r 3.10.0-693.el7.x86_64 IP:192.1 ...
- Linux并发与同步专题 (2)spinlock
关键词:wfe.FIFO ticket-based.spin_lock/spin_trylock/spin_unlock.spin_lock_irq/spin_lock_bh/spin_lock_ir ...
- Spring Cloud Config 分布式配置中心【Finchley 版】
一. 介绍 1,为什么需要配置中心? 当服务部署的越来越多,规模越来越大,对应的机器数量也越来越庞大,靠人工来管理和维护服务的配置信息,变得困难,容易出错. 因此,需要一个能够动态注册和获取服务信息的 ...
- 在Winform开发中使用FastReport创建报表
FastReport.Net是一款适用于Windows Forms, ASP.NET和MVC框架的功能齐全的报表分析解决方案.可用在Microsoft Visual Studio 2005到2015, ...