php实例化类的方法,在PHP中实例化类实例的不同方法
不能更好地阐明这个问题的道歉.我已经尝试过一些简单的测试,并且无法解决这些问题.无论如何,我想知道以下两个例子之间存在什么差异(如果有的话):
class foo
{
public function __construct()
{
}
}
$foo1 = new foo;
还有这个:
class foo
{
public function __construct()
{
}
}
$foo1 = new foo();
请注意,在第二个示例中,我使用括号和’new’关键字.如果这里没有差异,我可以对我的foo类声明做些什么来创造差异?如果存在差异,它们是否特别适用于PHP?谢谢.
最佳答案 我觉得使用括号实例化类更好,即使构造函数不需要任何参数.虽然您的示例执行相同的操作,但如果构造函数发生更改,则不会.这是一个品味和风格的问题.
这是你的第一个例子:
class foo
{
public function __construct()
}
$foo1 = new foo;
这有效,但如果我们这样做呢?
public function __construct($db = null) {}
..好吧,那么它仍然可以工作,因为参数有默认值.
但是,如果我们这样做呢?
public function __construct($db) {}
..由于缺少参数,它会破坏,你需要括号才能传递参数.如果你曾经回过头来让foo构造函数变得更有趣,那么你只需要添加括号和所有参数.
最后,语言确实在发展.当你使用括号时我并没有看到PHP抱怨,但如果你不这样做,它有一天会变得脾气暴躁.有些人使用无括号的方式来说我们实例化的这个类没有构造函数.这是个人品味.你可以有意义地使用缺席:
$f = new foo; // class has no constructor, or constructor has no arguments
$f = new foo(); // class has a constructor with default arguments we can set later
$f = new foo($bar) // class has a constructor, and it needs arguments
如果在大型代码库中一致地完成上述操作,则可以节省时间.我不再那么肯定了,因为人们在测试方面变得更好 – 但这只是我的意见.
然而,目前 – 不,两个给出你的例子没有区别.
php实例化类的方法,在PHP中实例化类实例的不同方法相关推荐
- java中process方法用处_Java中ProcessBuilder应用实例
系列说明 可以使用java中的ProcessBuilder执行本地命令或脚本等工作 以下是一个简单的使用java调用本地python脚本的例子 List commands=new ArrayList( ...
- python类和对象介绍_python中的类,对象,方法,属性等介绍
注:这篇文章写得很好.加底纹的是我自己的理解 python中一切皆为对象,所谓对象:我自己就是一个对象,我玩的电脑就是对象,坐着的椅子就是对象,家里养的小狗也是一个对象...... 我们通过描述属性( ...
- python类定义中、对象字符串的特殊方法是_python中自定义类对象json字符串化的方法_python json转字符串、...
python中自定义类对象json字符串化的方法 1. 用 json 或者simplejson 就可以 2.定义转换函数: def convert_to_builtin_type(obj): prin ...
- java如何实例化集合_如何在java中实例化一个Queue对象?
Queue是一个接口,这意味着你不能直接构造一个Queue . 最好的select是构造一个已经实现Queue接口的类,如下所示: AbstractQueue , ArrayBlockingQueue ...
- java中定义类的关键字是_java中定义类的关键字是什么?
java中定义类的关键字是:"class".在Java中定义一个类,需要使用"class"关键字.一个自定义的类名和一对表示程序体的大括号. 类是 Java 中 ...
- java 扫描类_Java扫描指定包中所有类
1. 扫描类 import java.io.File; import java.io.FilenameFilter; import java.io.IOException; import java.n ...
- java类的方法 作用 属性_JAVA:类和对象(秒懂版)
JAVA:类和对象(秒懂版) 本节我们重点研究对象和类的概念. 1.现实生活中的对象和类. 对象: 一个具体的实体.一个具体的实例(不是抽象的,是具象的). 举例: 你写字的笔.我的电脑 描述我的电脑 ...
- PHP自动加载类和方法,在PHP中自动加载类的最佳方法
请,如果您需要自动加载类 – 使用命名空间和类名称约定与SPL自动加载,它将节省您的重构时间. 当然,您将需要将每个类作为对象进行实例化. 谢谢. 或者像这样(我在我的一个项目中): spl_auto ...
- python类内部方法调用_python如何调用类中的方法
调用同一个类中的方法 首先类中的方法在定义的时候需要先加参数self,例如:def SaveData(self,ip): print(ip)如果无self参数则不能在同一个类中调用(之前一直在这里犯错 ...
最新文章
- .NET 页面间传值的几种方法
- 用于阴影检测的 DSC 特征
- 一蹴而就的解释是什么_健身会让我们成为什么样的人?
- jsp mysql 注入攻击实例
- springboot: ajax异步提交表单
- Maximum Product Subarray
- RabbitMQ,RabbitMQ 的工作模式,Spring 整合 RabbitMQ,Springboot 整合RabbitMQ
- 暑假学习日记2013/7/26
- jboss fuse 教程_使用JBoss Fuse和OpenShift进行Cloud Native Camel骑行
- 别再无脑wwm了!在下游任务中不一定有效!
- .Net Webapi SignalR与微信小程序的交互
- ubuntu14.04 clementine音乐播放器无法播放ape格式解决方法
- 昨日皇者——Symbian(塞班)
- 【每日新闻】高盛与苹果合作推出AppleCard
- Oracle comment添加注释
- 简短加密_神经网络训练中回调的简短实用指南
- 钉钉小程序图表刷新 antv-f2
- javaweb项目实战--学生管理系统
- 怒爬某破Hub站资源,只为撸这个鉴黄平台
- java计算机毕业设计智慧门诊综合管理系统源码+mysql数据库+系统+部署+lw文档
热门文章
- HTML之图片标签、音视频标签
- python如何在文本内排序_在python中对文本文件中的项进行排序
- 乌班图安装pycharm
- 失落城堡获取服务器信息,《失落城堡》精英服资格获取方法 失落城堡精英服招募...
- java singletonlist_Java Collections singletonList()方法及示例
- 中山大学计算机系学霸,中山大学学霸双胞胎姐妹毕业了,这颜值真是逆天啊!...
- 2011年ESRI北京站IDL视频教程(全)
- linux barrier,如何决定何时启用Linux文件系统barrier功能?
- html自动切换body背景,html中怎么用body元素设置背景颜色
- pandas创建与保存(导入与导出)dataframe