- 浏览: 7942828 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (2425)
- 软件工程 (75)
- JAVA相关 (662)
- ajax/web相关 (351)
- 数据库相关/oracle (218)
- PHP (147)
- UNIX/LINUX/FREEBSD/solaris (118)
- 音乐探讨 (1)
- 闲话 (11)
- 网络安全等 (21)
- .NET (153)
- ROR和GOG (10)
- [网站分类]4.其他技术区 (181)
- 算法等 (7)
- [随笔分类]SOA (8)
- 收藏区 (71)
- 金融证券 (4)
- [网站分类]5.企业信息化 (3)
- c&c++学习 (1)
- 读书区 (11)
- 其它 (10)
- 收藏夹 (1)
- 设计模式 (1)
- FLEX (14)
- Android (98)
- 软件工程心理学系列 (4)
- HTML5 (6)
- C/C++ (0)
- 数据结构 (0)
- 书评 (3)
- python (17)
- NOSQL (10)
- MYSQL (85)
- java之各类测试 (18)
- nodejs (1)
- JAVA (1)
- neo4j (3)
- VUE (4)
- docker相关 (1)
最新评论
-
xiaobadi:
jacky~~~~~~~~~
推荐两个不错的mybatis GUI生成工具 -
masuweng:
(转)JAVA获得机器码的实现 -
albert0707:
有些扩展名为null
java 7中可以判断文件的contenttype了 -
albert0707:
非常感谢!!!!!!!!!
java 7中可以判断文件的contenttype了 -
zhangle:
https://zhuban.me竹板共享 - 高效便捷的文档 ...
一个不错的网络白板工具
原文发表在:http://tech.it168.com/a2012/0424/1341/000001341278_all.shtml
本人作品
PHP一直是在Web开发领域中十分重要而快捷方便的开发语言,深受广大开发人员的青睐。现在PHP 5.4的正式版本已经发布,其中增加了大量新的特性,官方声称性能提高20%,并且占用更少的资源。在本文中,我将带领大家学习PHP 5.4的一些新的特性。
在PHP 5.4中,首先是修复了多达100多处的bug,并且在内存及性能优化上做的更好了,而且去掉了一些之前版本的方法,比如register_globals,magic_quotes,safe_mode等,而且要注意的是,PHP 5.4中,默认的编码方式已经改变为UTF-8了,这很有利于开发者开发多语言的版本应用。
Traits介绍
首先来介绍下PHP 5.4中新加入的功能Traits。其实该功能在其他语言中也见到其踪影,这里可以简单理解为一系列的方法的集合,在组织结构上跟类有点象(但不能象类那样实例化),能让开发者可以在不同的类中重用这组方法。由于php是单继承的语言,所以一个类中是不能同时继承多个类的。这个时候,Traits就派上用场了。
Traits是一个方案集合,它不属于任何实际类。用户没法创建Trait实例或直接调用Trait中的方法,相反,用户必须将Traits合并到实际的类当中方能使用它们。在优先级方面,Trait方法会覆盖继承而来的同名方法,而当前合并类中的同名方法则会覆盖Trait方法。
下面举个例子来说明Traits的用途。假设我们正在构建的网站中,需要同时调用Facebook和Twitter的API,而在这两个API的调用过程中,都需要调用curl方法进行一系列的操作,获得两者API接口返回的内容,为了不在这两个类中重复编写相同的方法,可以使用php 5.4中的Traits实现,如下代码所示:
/** cURL wrapper trait */
trait cURL
{
public function curl($url)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
curl_close($ch);
return $output;
}
}
/** Twitter API 类 */
class Twitter_API
{
use cURL; //调用Traits
public function get($url)
{
return json_decode($this->curl('http://api.twitter.com/'.$url));
}
}
/** Facebook API 类 */
class Facebook_API
{
use cURL; //调用Traits
public function get($url)
{
return json_decode($this->curl('http://graph.facebook.com/'.$url));
}
}
$facebook = new Facebook_API();
echo $facebook->get('500058753')->name; //这里会调用API输出该facebook的用户名
/** 演示php 5.4中的新特性 */
echo (new Facebook_API)->get('500058753')->name;
$foo = 'get';
echo (new Facebook_API)->$foo('500058753')->name;
echo (new Twitter_API)->get('1/users/show.json?screen_name=rasmus')->name;
在上面的代码中,首先通过关键字trait定义了一个功能集合,其名称为Curl,其中包含一个方法名为curl,该方法中是根据url的参数值,调用php内置的cur方法返回该url对应的页面输出内容。然后在Twitter_API类和Facebook_API
类中,分别使用use cURL去调用了这个Traits,并且在各自的get方法中,都调用了Traits中的的curl方法。
注意在上面的代码中,我们除了用new Facebook_API()来生成facebook对象的实例外,还演示了使用php 5.4中新的特性,即:
可以在实例化时访问类成员,即:
echo (new Facebook_API)->get('500058753')->name;
$foo = 'get';
echo (new Facebook_API)->$foo('500058753')->name;
看到了么?其中对$foo变量赋值为get,然后在类中企图调用get方法时,是通过(new Facebook_API)->$foo('500058753')->name;去实现调用的。
我们再举个例子来说明下Traits的使用,可能这个例子更加简单,比如如下代码:
trait Net
{
public function net()
{
return 'Net';
}
}
trait Tuts
{
public function tuts()
{
return 'Tuts';
}
}
class NetTuts
{
use Net, Tuts;
public function plus()
{
return '+';
}
}
$o = new NetTuts;
echo $o->net(), $o->tuts(), $o->plus();
echo (new NetTuts)->net(), (new NetTuts)->tuts(), (new NetTuts)->plus();
以上的结果都输出NetTuts。此外,顺便说下,在php 5.4中traits的魔术常量为__TRAIT__。
内置的调试服务器
在以往的php 开发中,一般是需要跟如Apache HTTP Server进行配合开发的。在php 5.4中,新内置了一个简单的Web服务器,以方便开发者不用通过复杂的配置也可以完成开发工作。下面分步骤讲解下如何在windows环境下,使用php 5.4中的内置服务器完成相关工作。
步骤1) 首先在c盘根目录下建立一个目录,为public_html,并且在文件中建立一个router.php文件,代码如下:
<?php
// router.php
if (preg_match('#\.php$#', $_SERVER['REQUEST_URI']))
{
require basename($_SERVER['REQUEST_URI']); // serve php file
}
else if (strpos($_SERVER['REQUEST_URI'], '.') !== false)
{
return false; // serve file as-is
}
?>
然后再建立一个简单的PHP文件,名字为index.php,如下:
// index.php
echo 'Hello Nettuts+ Readers!';
?>
然后打开php 5.4的安装目录,找到php.ini,然后在include_path中加入如下这行:
include_path = ".;C:\php\PEAR;C:\public_html"
步骤2 运行内置的web服务器
首先进行命令行模式下,并且进入php目录,输入如下命令:
php -S 0.0.0.0:8080 -t C:\public_html router.php
其中这里指定了任何机器都可以访问这台服务器,并且指定了8080端口,指定了工作监听的路由文件为c:\public_html下的router,php文件,在上面的命令行输入后按回车,会出现如下信息提示
则证明内置的服务器已经正确启动了。
这个时候,可以在浏览器中输入http://localhost:8080/index.php进行访问了。
更简洁的数组语法
在php 5.4中,对一些语法上的支持更加显得简洁,比如数组中的声明,现在
支持使用中括号的方法来声明,如下:
$fruits = array('apples', 'oranges', 'bananas'); // 旧的声明方式
$fruits = ['apples', 'oranges', 'bananas']; //php 5.4中新的支持声明方式
// 新的关联数组访问
$array = [
'foo' => 'bar',
'bar' => 'foo'
];
当然,在php 5.4中,同样支持旧的数组声明方式。
直接对函数返回值进行数组取值
在php 5.4中,支持直接对函数返回值进行数组取值。看个例子,比如:
$tmp = explode(' ', 'Alan Mathison Turing');
echo $tmp[1]; // Mathison
在这个例子中,如果是php 5.4之前,要取出上面的字符串中的Mathison的话,必须先用explode函数先返回相关的值,然后再对数组进行取值。而在php 5.4中,可以直接对返回值进行数组进行取值,如下:
echo explode(' ', 'Alan Mathison Turing')[1];
这样就方便多了。再比如,加入要获得上面这个字符串的最后一个字符串部分Turing,在php 5.4中可以这样做:
echo end(explode(' ', 'Alan Mathison Turing'));
再给出一个复杂点的例子,如下:
function foobar()
{
return ['foo' => ['bar' => 'Hello']];
}
echo foobar()['foo']['bar']; //输出 Hello
闭包中能使用$this指针
以前的php 版本中,是不能在匿名方法中(也称为闭包)使用$this指针的,而php 5.4中是可以了,例子如下:
class Foo
{
function hello() {
echo 'Hello Nettuts!';
}
function anonymous()
{
return function() {
$this->hello(); //这在以前的版本中是不能实现
};
}
}
class Bar
{
function __construct(Foo $o)
{
$x = $o->anonymous(); // 实际上调用Foo::hello()
$x(); // 执行的是 Foo::hello()
}
}
new Bar(new Foo); //输出 Hello Nettuts!
以上的实现方法有点复杂,在php 5.4中,可以更方便写为如下:
function anonymous()
{
$that = $this;
return function() use ($that) {
$that->hello();
};
}
现在,不管php.ini中的short_tag标记如何设置,在模板中可以随时使用这样的方式了,从而代替 这样的方式。采用“0b”前缀标识二进制数,现在,如果要使用二进制数,请在前面加上0b的前缀,比如:
echo 0b11111
函数类型提示的增强
由于php是弱类型的语言,因此在php 5.0后,引入了函数类型提示的功能,其含义为对于传入函数中的参数都进行类型检查,举个例子,有如下的类:
class bar {
}
function foo(bar $foo) {
}
其中函数foo中的参数规定了传入的参数必须为bar类的实例,否则系统会判断出错。同样对于数组来说,也可以进行判断,比如:
function foo(array $foo) {
}
foo(array(1, 2, 3)); // 正确,因为传入的是数组
foo(123); // 不正确,传入的不是数组
而在php 5.4中,则支持对callable类型的支持。在以前, 我们如果希望一个函数接受一个回调函数作为参数, 那需要做很多额外的工作来检查是否是可调用的正确的回调函数,例子如下:
function foo(callable $callback) {
}
则:
foo("false"); //错误,因为false不是callable类型
foo("printf"); //正确
foo(function(){}); //正确
class A {
static function show() {
}
}
foo(array("A", "show")); //正确
遗憾的是,PHP 5.4中,依然不支持对基本类型如字符,整形等的类型提示。
对时间统计的增强
在PHP 5.4中,其中新增加了$_SERVER['REQUEST_TIME_FLOAT'],这个是用来统计服务请求时间的,并用ms来表示,大大方便了开发者,比如:
echo '脚本执行时间 ', round(microtime(true) - $_SERVER['REQUEST_TIME_FLOAT'], 2), 's';
总结:
本文简单小结了PHP 5.4中的一些新的特性,可以看到PHP 5.4中比较明显的特性改进主要是Traits以及内置调试服务器,UTF-8默认支持等,详细的新特性介绍请参考PHP 5.4的用户手册。
本人作品
PHP一直是在Web开发领域中十分重要而快捷方便的开发语言,深受广大开发人员的青睐。现在PHP 5.4的正式版本已经发布,其中增加了大量新的特性,官方声称性能提高20%,并且占用更少的资源。在本文中,我将带领大家学习PHP 5.4的一些新的特性。
在PHP 5.4中,首先是修复了多达100多处的bug,并且在内存及性能优化上做的更好了,而且去掉了一些之前版本的方法,比如register_globals,magic_quotes,safe_mode等,而且要注意的是,PHP 5.4中,默认的编码方式已经改变为UTF-8了,这很有利于开发者开发多语言的版本应用。
Traits介绍
首先来介绍下PHP 5.4中新加入的功能Traits。其实该功能在其他语言中也见到其踪影,这里可以简单理解为一系列的方法的集合,在组织结构上跟类有点象(但不能象类那样实例化),能让开发者可以在不同的类中重用这组方法。由于php是单继承的语言,所以一个类中是不能同时继承多个类的。这个时候,Traits就派上用场了。
Traits是一个方案集合,它不属于任何实际类。用户没法创建Trait实例或直接调用Trait中的方法,相反,用户必须将Traits合并到实际的类当中方能使用它们。在优先级方面,Trait方法会覆盖继承而来的同名方法,而当前合并类中的同名方法则会覆盖Trait方法。
下面举个例子来说明Traits的用途。假设我们正在构建的网站中,需要同时调用Facebook和Twitter的API,而在这两个API的调用过程中,都需要调用curl方法进行一系列的操作,获得两者API接口返回的内容,为了不在这两个类中重复编写相同的方法,可以使用php 5.4中的Traits实现,如下代码所示:
/** cURL wrapper trait */
trait cURL
{
public function curl($url)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
curl_close($ch);
return $output;
}
}
/** Twitter API 类 */
class Twitter_API
{
use cURL; //调用Traits
public function get($url)
{
return json_decode($this->curl('http://api.twitter.com/'.$url));
}
}
/** Facebook API 类 */
class Facebook_API
{
use cURL; //调用Traits
public function get($url)
{
return json_decode($this->curl('http://graph.facebook.com/'.$url));
}
}
$facebook = new Facebook_API();
echo $facebook->get('500058753')->name; //这里会调用API输出该facebook的用户名
/** 演示php 5.4中的新特性 */
echo (new Facebook_API)->get('500058753')->name;
$foo = 'get';
echo (new Facebook_API)->$foo('500058753')->name;
echo (new Twitter_API)->get('1/users/show.json?screen_name=rasmus')->name;
在上面的代码中,首先通过关键字trait定义了一个功能集合,其名称为Curl,其中包含一个方法名为curl,该方法中是根据url的参数值,调用php内置的cur方法返回该url对应的页面输出内容。然后在Twitter_API类和Facebook_API
类中,分别使用use cURL去调用了这个Traits,并且在各自的get方法中,都调用了Traits中的的curl方法。
注意在上面的代码中,我们除了用new Facebook_API()来生成facebook对象的实例外,还演示了使用php 5.4中新的特性,即:
可以在实例化时访问类成员,即:
echo (new Facebook_API)->get('500058753')->name;
$foo = 'get';
echo (new Facebook_API)->$foo('500058753')->name;
看到了么?其中对$foo变量赋值为get,然后在类中企图调用get方法时,是通过(new Facebook_API)->$foo('500058753')->name;去实现调用的。
我们再举个例子来说明下Traits的使用,可能这个例子更加简单,比如如下代码:
trait Net
{
public function net()
{
return 'Net';
}
}
trait Tuts
{
public function tuts()
{
return 'Tuts';
}
}
class NetTuts
{
use Net, Tuts;
public function plus()
{
return '+';
}
}
$o = new NetTuts;
echo $o->net(), $o->tuts(), $o->plus();
echo (new NetTuts)->net(), (new NetTuts)->tuts(), (new NetTuts)->plus();
以上的结果都输出NetTuts。此外,顺便说下,在php 5.4中traits的魔术常量为__TRAIT__。
内置的调试服务器
在以往的php 开发中,一般是需要跟如Apache HTTP Server进行配合开发的。在php 5.4中,新内置了一个简单的Web服务器,以方便开发者不用通过复杂的配置也可以完成开发工作。下面分步骤讲解下如何在windows环境下,使用php 5.4中的内置服务器完成相关工作。
步骤1) 首先在c盘根目录下建立一个目录,为public_html,并且在文件中建立一个router.php文件,代码如下:
<?php
// router.php
if (preg_match('#\.php$#', $_SERVER['REQUEST_URI']))
{
require basename($_SERVER['REQUEST_URI']); // serve php file
}
else if (strpos($_SERVER['REQUEST_URI'], '.') !== false)
{
return false; // serve file as-is
}
?>
然后再建立一个简单的PHP文件,名字为index.php,如下:
// index.php
echo 'Hello Nettuts+ Readers!';
?>
然后打开php 5.4的安装目录,找到php.ini,然后在include_path中加入如下这行:
include_path = ".;C:\php\PEAR;C:\public_html"
步骤2 运行内置的web服务器
首先进行命令行模式下,并且进入php目录,输入如下命令:
php -S 0.0.0.0:8080 -t C:\public_html router.php
其中这里指定了任何机器都可以访问这台服务器,并且指定了8080端口,指定了工作监听的路由文件为c:\public_html下的router,php文件,在上面的命令行输入后按回车,会出现如下信息提示
则证明内置的服务器已经正确启动了。
这个时候,可以在浏览器中输入http://localhost:8080/index.php进行访问了。
更简洁的数组语法
在php 5.4中,对一些语法上的支持更加显得简洁,比如数组中的声明,现在
支持使用中括号的方法来声明,如下:
$fruits = array('apples', 'oranges', 'bananas'); // 旧的声明方式
$fruits = ['apples', 'oranges', 'bananas']; //php 5.4中新的支持声明方式
// 新的关联数组访问
$array = [
'foo' => 'bar',
'bar' => 'foo'
];
当然,在php 5.4中,同样支持旧的数组声明方式。
直接对函数返回值进行数组取值
在php 5.4中,支持直接对函数返回值进行数组取值。看个例子,比如:
$tmp = explode(' ', 'Alan Mathison Turing');
echo $tmp[1]; // Mathison
在这个例子中,如果是php 5.4之前,要取出上面的字符串中的Mathison的话,必须先用explode函数先返回相关的值,然后再对数组进行取值。而在php 5.4中,可以直接对返回值进行数组进行取值,如下:
echo explode(' ', 'Alan Mathison Turing')[1];
这样就方便多了。再比如,加入要获得上面这个字符串的最后一个字符串部分Turing,在php 5.4中可以这样做:
echo end(explode(' ', 'Alan Mathison Turing'));
再给出一个复杂点的例子,如下:
function foobar()
{
return ['foo' => ['bar' => 'Hello']];
}
echo foobar()['foo']['bar']; //输出 Hello
闭包中能使用$this指针
以前的php 版本中,是不能在匿名方法中(也称为闭包)使用$this指针的,而php 5.4中是可以了,例子如下:
class Foo
{
function hello() {
echo 'Hello Nettuts!';
}
function anonymous()
{
return function() {
$this->hello(); //这在以前的版本中是不能实现
};
}
}
class Bar
{
function __construct(Foo $o)
{
$x = $o->anonymous(); // 实际上调用Foo::hello()
$x(); // 执行的是 Foo::hello()
}
}
new Bar(new Foo); //输出 Hello Nettuts!
以上的实现方法有点复杂,在php 5.4中,可以更方便写为如下:
function anonymous()
{
$that = $this;
return function() use ($that) {
$that->hello();
};
}
现在,不管php.ini中的short_tag标记如何设置,在模板中可以随时使用这样的方式了,从而代替 这样的方式。采用“0b”前缀标识二进制数,现在,如果要使用二进制数,请在前面加上0b的前缀,比如:
echo 0b11111
函数类型提示的增强
由于php是弱类型的语言,因此在php 5.0后,引入了函数类型提示的功能,其含义为对于传入函数中的参数都进行类型检查,举个例子,有如下的类:
class bar {
}
function foo(bar $foo) {
}
其中函数foo中的参数规定了传入的参数必须为bar类的实例,否则系统会判断出错。同样对于数组来说,也可以进行判断,比如:
function foo(array $foo) {
}
foo(array(1, 2, 3)); // 正确,因为传入的是数组
foo(123); // 不正确,传入的不是数组
而在php 5.4中,则支持对callable类型的支持。在以前, 我们如果希望一个函数接受一个回调函数作为参数, 那需要做很多额外的工作来检查是否是可调用的正确的回调函数,例子如下:
function foo(callable $callback) {
}
则:
foo("false"); //错误,因为false不是callable类型
foo("printf"); //正确
foo(function(){}); //正确
class A {
static function show() {
}
}
foo(array("A", "show")); //正确
遗憾的是,PHP 5.4中,依然不支持对基本类型如字符,整形等的类型提示。
对时间统计的增强
在PHP 5.4中,其中新增加了$_SERVER['REQUEST_TIME_FLOAT'],这个是用来统计服务请求时间的,并用ms来表示,大大方便了开发者,比如:
echo '脚本执行时间 ', round(microtime(true) - $_SERVER['REQUEST_TIME_FLOAT'], 2), 's';
总结:
本文简单小结了PHP 5.4中的一些新的特性,可以看到PHP 5.4中比较明显的特性改进主要是Traits以及内置调试服务器,UTF-8默认支持等,详细的新特性介绍请参考PHP 5.4的用户手册。
发表评论
-
11个php日常用的小tips 代码片段
2014-01-21 20:34 1936http://www.phpzag.com/11-useful ... -
php中的DirectoryIterator和RecursiveDirectoryIterator
2013-07-27 22:50 3517php中,可以用用DirectoryIterator获取指定目 ... -
uccenter中找回创始人密码
2013-03-11 19:12 1922偶然忘记了uccenter中的创始人密码,一查看,其实找回 ... -
php中通过register_shutdown_function记录fatal error
2013-02-09 23:56 2969今天发现php中,如果要记录fatal error的时候, ... -
php中检查是否ajax请求
2013-01-19 09:53 1471$ajax = false; if(!empty ... -
php中检查某个网页地址是否有效能被打开的最简单方法
2012-10-22 16:18 2094php中检查某个网页地址是否有效能被打开的最简单方法,其实可以 ... -
小结几个php操作office的类库
2012-07-20 19:16 19401 phpexcel 最强大完整的类库了,地址在: ht ... -
介绍几个PHP的开源不错的图片类库
2012-07-14 13:11 2882介绍几个PHP的开源不错的图片类库 1 pchart ... -
php中__sleep和__wakeup
2012-06-22 09:39 4522在php中,__sleep和___wakeup是两个分别自 ... -
用php实现备份数据库ZIP及导出
2012-04-17 08:59 1849经常在有的PHP开源系统中,看到有备份数据库并导出的方法 ... -
PHP Codeigniter 中的_remap方法简介
2012-04-05 21:06 4587在Codeigniter 中,其实有个容易忽略掉的不错的控 ... -
PHP 5.4中的traits初探
2012-04-01 19:57 5055PHP 5.4中的traits,是新引入的特性,中文还真不知道 ... -
php中的pdo和mysqli的对比选择
2012-03-10 22:25 7153在PHP中,如何选择PDO和mysqli呢?本文做个简单的 ... -
php 5.4中新增加对session状态判断的功能
2012-02-20 12:28 3968在以前的php 版本中,要判断session是否有效,只能 ... -
php curl的几段小应用
2012-02-07 10:10 1826php 的CURL是不错的功能,下面收藏几段不错的片段 1 ... -
php 5.3中的一个type hinting的用法
2012-01-20 11:50 2318今天偶然看php 5.3中的一个特性,叫type hintin ... -
cakephp的分页排序
2012-01-04 10:38 4231cakephp中的分页还是很简单的,下面例子复习下 1 数据 ... -
mongodb+php学习1
2012-01-03 11:51 52331 mongodb启动时,设置启动项 C:\>mon ... -
php中挺好用的strtotime方法
2011-12-20 11:32 1962在PHP中,经常要对日期进行计算,比如要计算一个月前的日期 ... -
php中使用curl发送JSON数据
2011-11-28 13:43 11796在PHP中,可以使用curl去发送JSON数据,例子如下: ...
相关推荐
- Laravel是一套简洁、优雅的PHP Web开发框架(PHP Web Framework) -- Laravel中文网... Laravel 5.4 版本正式发布了!这一版本带来了很多新特性以及对原有功能的提升。
2. **命名空间(Namespaces)**:PHP 5.4开始正式支持命名空间,这使得代码组织更加清晰,避免了全局命名冲突的问题,提高了代码可维护性。 3. **Traits**:PHP 5.4引入了一种新的代码复用机制——Traits,它类似于...
PHP 5.4.0 RC4(Release Candidate 4)是该版本的候选发布版,它在5.4系列中扮演了重要的角色,为最终稳定版本提供了测试和改进的基础。 在“php-5.4.0rc4-win32-vc9-x86”这个描述中,我们看到几个关键信息: 1. *...
PHP7 ,将会是PHP脚本语言的重大版本更新,同时将带来大幅的性能改进和新的特性,以及改进一些过时功能。该发布版本将会专注在性能加强,源自PHP版本树中的phpng分支 . . 截止到目前为止,PHP官方已经发布了php7的...
1. 函数命名空间(Namespaces):这是PHP 5.3引入的重要特性,允许开发者在单个文件或项目中组织代码,避免函数名冲突,提高了代码的可维护性。 2. Late Static Bindings(LSB):LSB解决了静态方法调用时的类绑定...
描述中提到的“T+0秒到,PHP运行,5.4”进一步解释了系统的特性。"T+0"是指交易当天(T日)即可完成结算,确保资金在交易完成后迅速到账,这对于需要快速周转资金的商家来说非常重要。"PHP运行,5.4"表明该源码是...
PHP 5.4是PHP发展的一个重要里程碑,引入了许多新特性、优化和改进,而5.4.39则是这个版本系列中的一个官方正式稳定版,意味着它经过了充分的测试,具有较高的稳定性和安全性。 **源码包介绍** 源码包是软件原始...
完善支持PHP5.4系列,兼容性更好 屏蔽字符功能新增双字屏蔽,屏蔽恶意内容更给力 新增一键删除多余信息功能,清理错误信息很方便 新增更多安全特性,系统更牢固 新增更多防恶意灌水功能,很实用 帝国CMS每一个版本...
Laravel 文档 Laravel 5.4 版本正式发布了!这一版本带来了很多新特性以及对原有功能的提升
相较于RC5,正式版通常经过了更多的测试,修复了已知问题,确保了稳定性和安全性。5.6版本同样引入了多项改进,包括默认主题“Twenty Twenty-One”,它以简洁的设计和对暗色模式的支持吸引了用户。同时,此版本还...
这个版本在PHP的发展历程中是一个重要的里程碑,因为它在正式版发布前提供了预览和测试的机会。 描述中提到的"php-5.4.0RC4-Win32-VC9-x86.zip最新技术"可能是指该版本引入的一些新特性或改进。PHP 5.4.0引入了若干...
2. **多版本支持**:安装包内含多种PHP版本,如PHP5.3、PHP5.4、PHP5.5、PHP5.6、PHP7.0、PHP7.1、PHP7.2等,用户可以根据项目需求自由选择合适的版本。 3. **多Web服务器选择**:除了PHP,PHPStudy还集成了Apache...
每个版本通常会包含新的特性、修复和对PHP版本的支持更新。 现在我们来看一下压缩包中的文件: 1. **ZendEncoder54.dll 和 ZendEncoder53.dll**:这些是Zend Guard的动态链接库文件,用于编码和解码PHP代码。54和...
ThinkPHP5.0作为该框架的一个重大更新版本,它不仅提供了基于PHP5.4的设计(同时支持PHP7),还引入了新的架构设计思想,包含了很多PHP的新特性,并且在核心上进行了优化,降低了对第三方库的依赖,并且完全支持...
总结来说,Laravel 5.5在错误处理方面迈出了重要的一步,它的新特性使得报错页面更加友好且实用,为开发者提供了更好的调试环境。通过自定义错误页面,开发者可以更自由地控制错误信息的展示,以适应不同的项目需求...
- **版本更新**:目前已更新至5.4版本,正处于Beta测试阶段,预计不久将正式发布。 - **章节内容**:涵盖了20个技术章节,每个章节都详细介绍了特定类型的Web安全漏洞,包括其概念、原理、目标和解决方法等方面的...