PHP创建对象有多少方法,具体代码是什么
Admin 2022-11-16 群英技术资讯 1097 次浏览
本篇内容介绍了“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>';
运行结果:

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章给大家分享的是在PHP中使用位运算来实现四则运算,小编觉得比较有趣,因此分享给大家作参考,感兴趣的朋友们可以看看,了解。
这篇文章主要介绍了PHP树形结构tree类用法,结合实例形式分析了php无限分类树tree.class.php的定义及使用相关操作技巧,需要的朋友可以参考下
laravel的加密方法:1、利用Hash,语法“bcrypt('需要加密的文本')”或“Hash::make('需要加密的文本')”;2、使用Laravel的加密器,语法“encrypt('需要加密的文本')”。
在本篇文章里我们给大家分享的是关于PHP将字符串转换成数字的方法和相关知识点,有兴趣的朋友们学习下。
今天使用json_encode转换数组的时候,出现了中文不显示的情况。在网上找到一种解决方法:<?php/*处理json_encode中文乱码*/$data=array('game'=>'冰火国度','name'=>'刺之灵','country'=>'冰霜国','level'=>45);echojson_encode(
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008