可以将“define”(内置函数的名称)用作方法名吗?

时间:2012-10-20 20:03:33

标签: php methods constants

我可以在课程中将它用作方法名吗?

它似乎是一个功能:http://www.php.net/manual/en/ref.misc.php 但我发现其中也列出了一些语言结构,例如dieexit

2 个答案:

答案 0 :(得分:2)

<?php

class Test {
  function defined() {
    return "Yes you can";
  }
}

$x = new Test();
echo $x->defined();

是的,你可以。不,你不应该。使用与内置函数相同的名称绝不是一个好主意。单词defined在PHP中具有确定的含义,没有人应该更加努力地想出你的类在某些特定的上下文中如何使用(或滥用)该单词。

答案 1 :(得分:2)

当你可以...你可以,当你不能......你会知道:),

在此处查看保留字列表http://php.net/manual/en/reserved.php并避免使用它们。当你试图非法命名你的方法时,任何好的PHP IDE都会发出警告。

还有另外一个问题。如果您忘记 $ this-&gt;方法(),只需在课程中使用方法(),它将被定义为一个函数。这将导致怪胎,很难找到错误。