加入收藏 | 设为首页 | 会员中心 | 我要投稿 大连站长网 (https://www.0411zz.cn/)- 文字识别、智能机器人、智能内容、自然语言处理、图像分析!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP创建对象有哪些方法

发布时间:2023-12-22 07:25:54 所属栏目:PHP教程 来源:DaWei
导读: 本篇内容介绍了“PHP创建对象有多少方法,具体代码是什么”的有关知识,在实际项目的操作过程或是学习过程中,不少人都会遇到这样的问题,接下来就让小编带大家学习一下如何处理这
本篇内容介绍了“PHP创建对象有多少方法,具体代码是什么”的有关知识,在实际项目的操作过程或是学习过程中,不少人都会遇到这样的问题,接下来就让小编带大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

创建对象实例:

<?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子类 Teacher

class 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>';//类名:Person

echo $obj6->getName().'<hr>'; //bruce

//当用子类去调用时候,发现static自动识别当前调用者(静态延迟绑定),返回当前调用者对象

$obj7 = Teacher::getObjcByStatic();

echo '类名:'.get_class($obj7).'<br>';//类名:Teacher

echo $obj7->getName().'<hr>';//bruce

$obj8 = Person::getObjBySelf();

echo '类名:'.get_class($obj8).'<br>';//类名:Person

echo $obj8->getName().'<hr>';

//new self()在子类中调用依旧返回原来父类的绑定

$obj9 = Teacher::getObjBySelf();

echo '类名:'.get_class($obj9).'<br>';//类名:Person

echo $obj9->getName().'<hr>';

以上就是关于“PHP创建对象有多少方法,具体代码是什么”的介绍了,感谢各位的阅读,如果大家想要了解更多相关的内容,小编每天都会为大家更新不同的知识。

(编辑:大连站长网)

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

    推荐文章