我正在学习 PHP 。
在学习 PHP 时,我注意到 PHP 中的实体很少以不同的方式使用。有时候,它们之间带有括号参数的括号对,有时带有一对空括号(即没有传递任何参数/ s或消息/ s),有时不使用一对括号。
怎么可能这样呢?是否有可能PHP中存在的所有其他实体(即函数/关键字/语言结构)?
除了'echo','print','die','exit'之外, PHP 还有其他此类实体吗?
这些实体在 PHP 中实际上被称为功能/关键字/语言结构?
访问此类实体的正确方法/方式/编码标准是什么?
对于我和其他 PHP 社区成员来说,如果有人能够回答我的所有,那么他们会更好地学习 PHP 通过可靠的解释,用简单,清晰易懂的语言查询?
谢谢。
答案 0 :(得分:1)
通常情况下,当您在PHP中看到()
之后,内部是否有参数时,它就是一个函数。
有两种情况,括号是可选的。
语言结构 - 您已经提到的那些(echo
,print
,die
和exit
)以及break
,include
,require
,require_once
,return
和yield
。 (我认为这是所有带有可选括号的。)
某些语言结构(例如unset
和array
执行)需要使用括号。如果您不确定某个单词是函数还是语言结构,最好的方法是查阅PHP手册。语言结构将包含在this list of keywords中。某些语言结构也列在function reference中(例如,echo
包含在字符串函数中),但具体的手册页将清楚地表明该术语是否是语言结构,以及是否为或不需要括号。
This answer详细描述了为什么/如何在没有括号的情况下使用语言结构。
对象构造函数,没有必需的参数
如果对象构造函数不带参数,或者它的所有参数都是可选的(例如function __construct($foo = null)
),那么在创建新对象时可以省略括号。例如,$now = new DateTime;
和$now = new DateTime();
都可以使用。
就“正确”的方式而言,确实没有一种方式。如果需要括号,显然正确的方法是使用它们,否则您的代码将无法解析。如果不需要括号,则取决于您正在进行的项目中使用的编码标准。