不能更好地阐明这个问题的道歉.我已经尝试过一些简单的测试,并且无法解决这些问题.无论如何,我想知道以下两个例子之间存在什么差异(如果有的话):

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中实例化类实例的不同方法相关推荐

  1. java中process方法用处_Java中ProcessBuilder应用实例

    系列说明 可以使用java中的ProcessBuilder执行本地命令或脚本等工作 以下是一个简单的使用java调用本地python脚本的例子 List commands=new ArrayList( ...

  2. python类和对象介绍_python中的类,对象,方法,属性等介绍

    注:这篇文章写得很好.加底纹的是我自己的理解 python中一切皆为对象,所谓对象:我自己就是一个对象,我玩的电脑就是对象,坐着的椅子就是对象,家里养的小狗也是一个对象...... 我们通过描述属性( ...

  3. python类定义中、对象字符串的特殊方法是_python中自定义类对象json字符串化的方法_python json转字符串、...

    python中自定义类对象json字符串化的方法 1. 用 json 或者simplejson 就可以 2.定义转换函数: def convert_to_builtin_type(obj): prin ...

  4. java如何实例化集合_如何在java中实例化一个Queue对象?

    Queue是一个接口,这意味着你不能直接构造一个Queue . 最好的select是构造一个已经实现Queue接口的类,如下所示: AbstractQueue , ArrayBlockingQueue ...

  5. java中定义类的关键字是_java中定义类的关键字是什么?

    java中定义类的关键字是:"class".在Java中定义一个类,需要使用"class"关键字.一个自定义的类名和一对表示程序体的大括号. 类是 Java 中 ...

  6. java 扫描类_Java扫描指定包中所有类

    1. 扫描类 import java.io.File; import java.io.FilenameFilter; import java.io.IOException; import java.n ...

  7. java类的方法 作用 属性_JAVA:类和对象(秒懂版)

    JAVA:类和对象(秒懂版) 本节我们重点研究对象和类的概念. 1.现实生活中的对象和类. 对象: 一个具体的实体.一个具体的实例(不是抽象的,是具象的). 举例: 你写字的笔.我的电脑 描述我的电脑 ...

  8. PHP自动加载类和方法,在PHP中自动加载类的最佳方法

    请,如果您需要自动加载类 – 使用命名空间和类名称约定与SPL自动加载,它将节省您的重构时间. 当然,您将需要将每个类作为对象进行实例化. 谢谢. 或者像这样(我在我的一个项目中): spl_auto ...

  9. python类内部方法调用_python如何调用类中的方法

    调用同一个类中的方法 首先类中的方法在定义的时候需要先加参数self,例如:def SaveData(self,ip): print(ip)如果无self参数则不能在同一个类中调用(之前一直在这里犯错 ...

最新文章

  1. .NET 页面间传值的几种方法
  2. 用于阴影检测的 DSC 特征
  3. 一蹴而就的解释是什么_健身会让我们成为什么样的人?
  4. jsp mysql 注入攻击实例
  5. springboot: ajax异步提交表单
  6. Maximum Product Subarray
  7. RabbitMQ,RabbitMQ 的工作模式,Spring 整合 RabbitMQ,Springboot 整合RabbitMQ
  8. 暑假学习日记2013/7/26
  9. jboss fuse 教程_使用JBoss Fuse和OpenShift进行Cloud Native Camel骑行
  10. 别再无脑wwm了!在下游任务中不一定有效!
  11. .Net Webapi SignalR与微信小程序的交互
  12. ubuntu14.04 clementine音乐播放器无法播放ape格式解决方法
  13. 昨日皇者——Symbian(塞班)
  14. 【每日新闻】高盛与苹果合作推出AppleCard
  15. Oracle comment添加注释
  16. 简短加密_神经网络训练中回调的简短实用指南
  17. 钉钉小程序图表刷新 antv-f2
  18. javaweb项目实战--学生管理系统
  19. 怒爬某破Hub站资源,只为撸这个鉴黄平台
  20. java计算机毕业设计智慧门诊综合管理系统源码+mysql数据库+系统+部署+lw文档

热门文章

  1. HTML之图片标签、音视频标签
  2. python如何在文本内排序_在python中对文本文件中的项进行排序
  3. 乌班图安装pycharm
  4. 失落城堡获取服务器信息,《失落城堡》精英服资格获取方法 失落城堡精英服招募...
  5. java singletonlist_Java Collections singletonList()方法及示例
  6. 中山大学计算机系学霸,中山大学学霸双胞胎姐妹毕业了,这颜值真是逆天啊!...
  7. 2011年ESRI北京站IDL视频教程(全)
  8. linux barrier,如何决定何时启用Linux文件系统barrier功能?
  9. html自动切换body背景,html中怎么用body元素设置背景颜色
  10. pandas创建与保存(导入与导出)dataframe