• 技术文章 >后端开发 >PHP问题

    php5.3和php5.4有什么区别

    王林王林2020-09-28 14:02:21原创1251

    php5.3和php5.4的区别:1、php5.4增加了数组的简写形式;2、php5.4增加了Traits;3、自php5.4开始,内置一个轻量级的web服务器;4、php5.4新增了动态访问静态方法的方式。

    1、Short Open Tag 自 PHP5.4 起总是可用

    (推荐教程:php视频教程

    在这里集中讲一下有关 PHP 起止标签的问题。即:

    <?php
    // Code...
    ?>

    通常就是上面的形式,除此之外还有一种简写形式:

    <? /* Code... */ ?>

    还可以把

    <?php echo $xxoo;?>

    简写成:

    <?= $xxoo;?>

    这种简写形式被称为 Short Open Tag, 在 PHP5.3 起被默认开启,在 PHP5.4 起总是可用。使用这种简写形式在 HTML 中嵌入 PHP 变量将会非常方便。

    对于纯 PHP 文件(如类实现文件), PHP 官方建议顶格写起始标记,同时 省略 结束标记。这样可以确保整个 PHP 文件都是 PHP 代码,没有任何输出,否则当你包含该文件后,设置 Header 和 Cookie 时会遇到一些麻烦

    注:Header 和 Cookie 必须在输出任何内容之前被发送。

    2、数组简写形式

    这是非常方便的一项特征!

    // 原来的数组写法
    $arr = array("key" => "value", "key2" => "value2");
    // 简写形式
    $arr = ["key" => "value", "key2" => "value2"];

    3、Traits

    所谓Traits就是“构件”,是用来替代继承的一种机制。PHP中无法进行多重继承,但一个类可以包含多个Traits.

    // Traits不能被单独实例化,只能被类所包含
    trait SayWorld
    {
        public function sayHello()
        {
            echo 'World!';
        }
    }
    class MyHelloWorld
    {
        // 将SayWorld中的成员包含进来
        use SayWorld;
    }
    $xxoo = new MyHelloWorld();
    // sayHello() 函数是来自 SayWorld 构件的
    $xxoo->sayHello();

    Traits还有很多神奇的功能,比如包含多个Traits, 解决冲突,修改访问权限,为函数设置别名等等。

    4、内置 Web 服务器

    PHP从5.4开始内置一个轻量级的Web服务器,不支持并发,定位是用于开发和调试环境。

    在开发环境使用它的确非常方便。

    php -S localhost:8000

    这样就在当前目录建立起了一个Web服务器,你可以通过 http://localhost:8000/ 来访问。
    其中localhost是监听的ip,8000是监听的端口,可以自行修改。

    很多应用中,都会进行URL重写,所以PHP提供了一个设置路由脚本的功能:

    php -S localhost:8000 index.php

    这样一来,所有的请求都会由index.php来处理。

    你还可以使用 XDebug 来进行断点调试。

    5、细节修改

    PHP5.4 新增了动态访问静态方法的方式:

    $func = "funcXXOO";
    A::{$func}();

    新增在实例化时访问类成员的特征:

    (new MyClass)->xxoo();

    新增支持对函数返回数组的成员访问解析(这种写法在之前版本是会报错的):

    print func()[0];

    相关推荐:php培训

    以上就是php5.3和php5.4有什么区别的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php5.3 php5.4
    上一篇:php数组如何转js数组对象 下一篇:php单引号与双引号的区别是什么
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• phpstudy php5.4以上版本伪静态设置 • iis如何安装php5.4• linux php5.4 安装教程• php5.4如何安装
    1/1

    PHP中文网