加入收藏 | 设为首页 | 会员中心 | 我要投稿 阳江站长网 (https://www.0662zz.cn/)- 办公协同、云通信、区块链、物联平台、高性能计算!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

一文聊聊php5.4的特性

发布时间:2022-08-10 11:08:16 所属栏目:PHP教程 来源:互联网
导读:Short Open Tag Short Open Tag 自 PHP5.4 起总是可用。 在这里集中讲一下有关 PHP 起止标签的问题。即: ?php // Code... ? 通常就是上面的形式,除此之外还有一种简写形式: ? /* Code... */ ? 还可以把?php echo $xxoo;? 简写成:?= $xxoo;? 这种简写形式
  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];

(编辑:阳江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读