0

我正在学习PHP

在学习PHP时,我注意到PHP中很少有实体以不同的方式使用。有时使用一对括号和它们之间的封闭参数,有时使用一对空白括号(即没有传递任何参数或消息),有时不使用一对括号。

这怎么可能?PHP中存在的所有其他实体(即函数/关键字/语言结构)是否可能?

除了我到目前为止遇到的“echo”、“print”、“die”、“exit”之外, PHP中是否还有其他此类实体?

这些实体在PHP中实际上被称为函数/关键字/语言结构是什么?

访问此类实体的正确方法/方式/编码标准是什么?

如果有人可以用一种简单、清晰且易于理解的语言并提供可靠的解释来回答我的所有查询,这对我以及其他正在尝试学习PHP的PHP社区成员来说会更好吗?

谢谢你。

4

1 回答 1

1

通常当你()在 PHP 中看到某个东西时,无论它里面是否有参数,它都是一个函数。

有两种情况,括号是可选的。

  1. 语言结构——您已经提到的那些(echoprintdieexit)以及breakincluderequirerequire_oncereturnyield. (我认为这就是带有可选括号的所有内容。)
    某些语言结构,例如unsetandarray 确实需要括号。如果您不确定某个词是函数还是语言结构,最好的办法是查阅 PHP 手册。语言结构将包含在此关键字列表中函数参考中还列出了一些语言结构,(例如,echo包含在字符串函数中),但具体的手册页会清楚地指出该术语是否是一种语言结构,以及是否需要括号。
    这个答案详细描述了为什么/如何在没有括号的情况下使用语言结构。

  2. 没有必需参数的对象构造函数。
    如果对象构造函数不带参数,或者它的所有参数都是可选的(例如function __construct($foo = null)),那么在创建新对象时可以省略括号。例如,例如,$now = new DateTime;并且$now = new DateTime();两者都可以工作。

至于“正确”的方式,真的没有。如果需要括号,显然正确的方法是使用它们,否则您的代码将无法解析。如果不需要括号,则取决于您正在处理的项目中使用的编码标准。

于 2017-10-13T19:20:29.353 回答