PHP7匿名类的用法示例

yipeiwu_com5年前PHP代码库

本文实例讲述了PHP7匿名类的用法。分享给大家供大家参考,具体如下:

<?php
/**
 * Created by PhpStorm.
 * User: Itboot
 * Date: 2019/1/17
 * Time: 18:15
 */
class An
{
  private $num;
  protected $age = 15;
  public function __construct() {
    $this->num = 1;
  }
  protected function bar(): int {
    return 10;
  }
  public function drive() {
    return new class($this->num) extends An{
      protected $id;
      public function __construct($num) {
        $this->id = $num;
      }
      public function ea() {
        return $this->id + $this->age + $this->bar();
      }
    };
  }
}
echo (new An())->drive()->ea();

<?php
$fun = function (){
  print '这是匿名函数'. PHP_EOL;
};
$fun();
class Animal
{
  public $num;
  public function __construct(...$args)
  {
    $this->num = $args[0];
  }
  public function getValue($su): int
  {
    return $this->num + $su;
  }
}
$an = new Animal(4);
echo $an->getValue(12) . PHP_EOL;
echo '匿名类'. PHP_EOL;
echo (new class(11) extends Animal{})->getValue(12);

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php面向对象程序设计入门教程》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

相关文章

php给数组赋值的实例方法

数组就是一个键值对组成的语言结构,键类似于酒店的房间号,值类似于酒店房间里存储的东西。 如果你去某个酒店住店,服务员会告诉你房间号是多少,具体房间里有存储了什么,那就需要根据房间号进到房...

PHP中mb_convert_encoding与iconv函数的深入解析

mb_convert_encoding这个函数是用来转换编码的。原来一直对程序编码这一概念不理解,不过现在好像有点开窍了。不过英文一般不会存在编码问题,只有中文数据才会有这个问题。比如你...

PHP计算百度地图两个GPS坐标之间距离的方法

本文实例讲述了PHP计算百度地图两个GPS坐标之间距离的方法。分享给大家供大家参考。 具体实现方法如下: 复制代码 代码如下:/**  * 计算两个坐标之间的距离(米) &nb...

关于访问控制的一首PHP面试题(对属性或方法的访问控制)

复制代码 代码如下: class Foo { private $name = 'hdj'; public function getName(){ return $this->nam...

php中Session的生成机制、回收机制和存储机制探究

php中Session的生成机制、回收机制和存储机制探究

1、php中session的生成机制 我们先来分析一下PHP中是怎么生成一个session的。设计出session的目的是保持每一个用户的各种状态来弥补HTTP协议的不足(无状态)。我们...