如何以不同的方式使用少数实体?实际调用的那些实体是什么?

时间:2017-10-13 18:36:15

标签: php entity keyword built-in language-construct

我正在学习 PHP

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

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

除了'echo','print','die','exit'之外, PHP 还有其他此类实体吗?

这些实体在 PHP 中实际上被称为功能/关键字/语言结构

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

对于我和其他 PHP 社区成员来说,如果有人能够回答我的所有,那么他们会更好地学习 PHP 通过可靠的解释,用简单,清晰易懂的语言查询?

谢谢。

1 个答案:

答案 0 :(得分:1)

通常情况下,当您在PHP中看到()之后,内部是否有参数时,它就是一个函数。

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

  1. 语言结构 - 您已经提到的那些(echoprintdieexit)以及breakincluderequirerequire_oncereturnyield。 (我认为这是所有带有可选括号的。) 某些语言结构(例如unsetarray 执行)需要使用括号。如果您不确定某个单词是函数还是语言结构,最好的方法是查阅PHP手册。语言结构将包含在this list of keywords中。某些语言结构也列在function reference中(例如,echo包含在字符串函数中),但具体的手册页将清楚地表明该术语是否是语言结构,以及是否为或不需要括号。
    This answer详细描述了为什么/如何在没有括号的情况下使用语言结构。

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

  3. 就“正确”的方式而言,确实没有一种方式。如果需要括号,显然正确的方法是使用它们,否则您的代码将无法解析。如果不需要括号,则取决于您正在进行的项目中使用的编码标准。