• 技术文章 >后端开发 >php教程

    一文聊聊php5.4的特性【总结】

    青灯夜游青灯夜游2022-07-27 14:18:34转载463
    本篇文章带大家聊聊php5.4的特性(Short Open Tag、数组简写形式、Traits等等),有需要的可以看看,希望对大家有所帮助!

    Short Open Tag

    Short Open Tag 自 PHP5.4 起总是可用。
    在这里集中讲一下有关 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 必须在输出任何内容之前被发送。

    数组简写形式

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

    代码如下:

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

    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, 解决冲突,修改访问权限,为函数设置别名等等。
    Traits中也同样可以包含Traits. 篇幅有限不能逐个举例,

    内置 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 来进行断点调试。

    细节修改

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

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

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

    (new MyClass)->xxoo();

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

    print func()[0];

    推荐学习:《PHP视频教程

    以上就是一文聊聊php5.4的特性【总结】的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:博客园,如有侵犯,请联系admin@php.cn删除
    专题推荐:php php5.4
    上一篇:一文详解PHP5-8各版本特性【汇总】 下一篇:一文聊聊php5.6的特性【总结】
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• 怎样利用Dockerfile文件部署PHP项目• php怎么检测数组是否存在指定下标• 什么是接口?如何在PHP中使用接口编写优雅的代码?• PHP常量两种定义方法:define和const有什么区别• 一文详解PHP5-8各版本特性【汇总】
    1/1

    PHP中文网