PHP函数名称以下划线开头是什么意思?
例如:__construct()
我知道构造意味着什么,但我已经看到函数以下划线或双下划线开头的其他地方,我只是不确定其意义。
答案 0 :(得分:17)
答案 1 :(得分:5)
在PHP中,函数以两个下划线开头,通常具有特殊含义。从手册:
PHP保留所有函数名称 以__开头是神奇的。它是 建议您不要使用 PHP中带__的函数名,除非 你想要一些记录下的魔法 功能。
例如__construct()是一种特殊方法,在初始化对象时会自动调用。
答案 2 :(得分:2)
还有一个常见的命名“编码风格”,它使用一个初始下划线来表示方法或属性是私有/受保护的。我认为它非常普遍。
答案 3 :(得分:1)
如其他答案所述,双下划线用于“魔术”方法。这个想法是用户永远不会故意使用两个下划线作为方法名称,因此几乎没有碰撞的风险。我认为,它不是一个单一的下划线的原因是,在'private'关键字出现以强制执行OO私有性之前,单个下划线是私有方法的流行惯例。 >
答案 4 :(得分:0)
在codeigniter中,如果在带有下划线的控制器中启动方法,路由器将知道不允许从URL访问它。