怎么创建未定义类PHP对象

这篇文章主要讲解了“怎么创建未定义类PHP对象”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么创建未定义类PHP对象”吧!

10余年的吉安网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。网络营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整吉安建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联公司从事“吉安网站设计”,“吉安网站推广”以来,每个客户项目都认真落实执行。

创建未定义类PHP对象

在PHP中,如果没有事先准备好类,需要创建一个未定义类的对象,我们可以采用下面三种方式:

  • new stdClass()

  • new class{}

  • (object)[]

首先是stdClass,这个类是一个空的类模板,是PHP的内部保留关键字及类名。可以把它相像成是Java中的Object基类,在Java中,所有类都天然继承自Object基类。而PHP中的这个stdClass则是完全的一个空的类模板。你自己新创建的类并不是它的子类。但是用这个类模板可以创建一个自己未定义类的对象。当然,这个对象内部没有任何东西。

1$a = new stdClass();
2var_dump($a);

new class{}呢?做过一段时间开发,接触过前端js和其他动态语言的应该能猜到,这个是匿名类。一般在参数对象中很常见。它创建出来的对象是可以带属性方法的。

1$b = new class{
2    public $p = 1;
3};
4var_dump($b);

最后我们来看到的是使用数组强转成对象的形式来生成一个对象。

1$c = (object)[
2    'p' => 1
3];
4var_dump($c);

很明显,数组强转的形式生成的对象和第一种对象是一个类型的,而且它可以带属性也可以不带。但是,它不能带方法。

数组强转方式生成的对象非常的直观好理解。如果只是属性对象的封装,使用这种方式会更加地优雅舒服。复杂的对象生成可以使用匿名类的方式进行生成。而一些仅需要占位的对象,可以使用stdClass的方法,当然用空数组的方式也很方便。

需要注意的是,数组强转需要遵守类型转换的规则。比如数字下标的问题。

在日常开发中,我们对于一些接口或者数据库ORM框架的使用中会经常用这些功能。比如一些ORM框架的插入、修改需要传入的是只包含属性的对象。这时候就可以使用上述的方法灵活地生成对象而不用完整的定义类模板了。

感谢各位的阅读,以上就是“怎么创建未定义类PHP对象”的内容了,经过本文的学习后,相信大家对怎么创建未定义类PHP对象这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!


分享文章:怎么创建未定义类PHP对象
网站链接:http://hbruida.cn/article/ijgggi.html