创建对象实例:

<?php/** * PHP创建对象的六种方式 */class Person{  private $name = 'bruce';  public function getName(){    return $this->name;  }  public static function getObjBySelf(){    return new self();  }  //动态延迟绑定,能识别调用者  public static function getObjcByStatic(){    return new static();  }}//Person子类 Teacherclass Teacher extends Person{  public static function getObjByParent(){    return new parent();  }}//1、new 类名();创建对象$obj1 = new Person();//等价于写法 $obj1 = new Person;echo '类名:'.get_class($obj1).'<br>';echo $obj1->getName().'<hr>';//2、将类名字符串赋值给一个变量,通过变量创建$clsName = 'Person';$obj2 = new $clsName();echo '类名:'.get_class($obj2).'<br>';echo $obj2->getName().'<hr>';//3、通过对象实例创建对象$obj3 = new $obj2();echo '类名:'.get_class($obj3).'<br>';echo $obj3->getName().'<hr>';//4、通过 new self()//$obj4 = (new $obj3())->getObjBySelf();$obj4 = Person::getObjBySelf();echo '类名:'.get_class($obj4).'<br>';echo $obj4->getName().'<hr>';//5、通过 new parent()$obj5= Teacher::getObjByParent();echo '类名:'.get_class($obj5).'<br>';echo $obj5->getName().'<hr>';//6、通过 new static();$obj6 = Person::getObjcByStatic();echo '类名:'.get_class($obj6).'<br>';//类名:Personecho $obj6->getName().'<hr>'; //bruce//当用子类去调用时候,发现static自动识别当前调用者(静态延迟绑定),返回当前调用者对象$obj7 = Teacher::getObjcByStatic();echo '类名:'.get_class($obj7).'<br>';//类名:Teacherecho $obj7->getName().'<hr>';//bruce$obj8 = Person::getObjBySelf();echo '类名:'.get_class($obj8).'<br>';//类名:Personecho $obj8->getName().'<hr>';//new self()在子类中调用依旧返回原来父类的绑定$obj9 = Teacher::getObjBySelf();echo '类名:'.get_class($obj9).'<br>';//类名:Personecho $obj9->getName().'<hr>';

运行结果:

e3bf4dc95b804028056b6607cbcf7b9.png

推荐教程:PHP视频教程

更多相关文章

  1. 如何直接访问php实例对象的private属性
  2. PHP字符逃逸导致的对象注入详解
  3. 一文搞懂PHP类和对象、抽象类、接口
  4. Github标星19K+Star,10分钟自建对象存储服务!
  5. golang 发送post请求 其body中json对象使用变量作为value
  6. Java 程序员应该知道的 10 个面向对象理论
  7. 一个GCRoot不可达的对象,会立刻被垃圾回收吗?
  8. Object对象你真理解了吗?
  9. HotSpot VM 中对象的内存分析

随机推荐

  1. PHP扩展之XML操作(一)——SimpleXML
  2. js字符串转换成xml并使用
  3. XML数据读取方式性能比较(二)
  4. 让Asp与XML交互
  5. XML 实体引用、注释、命名规则
  6. XML数据读取方式性能比较(一)
  7. 给XML文档添加新 ”records”
  8. XML 增、删、改
  9. vbs类天生xml文件
  10. XML指南——XML 确认