Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can';在php中没有名为default的函数_Php_Class_Function_Default - Fatal编程技术网

Can';在php中没有名为default的函数

Can';在php中没有名为default的函数,php,class,function,default,Php,Class,Function,Default,好吧,这太出乎意料了,让我很恼火。我的所有类中都有名为default()的函数。但是,出于某种原因,我不能叫它。我猜这是因为switch语句中的“default:”(我根本不用它) 我不能用php命名我的函数default(),这是真的吗?还是我做错了什么 以下是错误: Parse error: syntax error, unexpected T_DEFAULT, expecting T_STRING in C:\Users\Jinxed\Desktop\WebTrgovina\app\c\

好吧,这太出乎意料了,让我很恼火。我的所有类中都有名为default()的函数。但是,出于某种原因,我不能叫它。我猜这是因为switch语句中的“default:”(我根本不用它)

我不能用php命名我的函数default(),这是真的吗?还是我做错了什么

以下是错误:

Parse error: syntax error, unexpected T_DEFAULT, expecting T_STRING in 
C:\Users\Jinxed\Desktop\WebTrgovina\app\c\Controller.c.php on line 8
下面是有问题的代码:

<?php
abstract class Controller {
    protected $view;
    function __construct() {
    }
    abstract function default();
    function getView(){
        return $this->view;
    }
}

是,您不能有名为
default
的函数。讨厌,但那是PHP。

default
在PHP中是一个保留字


以下是列表:

它在上,因此没有什么意外。如果您确实需要这些名称,您可以使用
\u call
-请参阅关键字页上的注释以获取示例。

您不能将保留字用作类函数。但是,您可以使用:


我想对AD7six的回答做出贡献(这应该是一个注释,但我不能),并补充说,如果您使用支持PHPDoc的IDE,您可以在类声明之前添加它,以使其自动完成知道这些伪方法的存在

/**
 * show off @method
 * @method whateverItReturns default()
 */
class foo {
...

@乔恩:你说我不能正常地叫它,但不正常地叫它怎么样?+有什么好的理由吗?在文档中找不到任何内容。请阅读手册的“保留关键字列表”页-如果您真的需要,它会给出解决方法的示例。@Jinx:Cylindric说了什么。但我真的不推荐它,它是非标准的,而且在某些情况下抽象会泄漏,这表明你只是在伪造它。好了,明白了,我将它重命名为defolt,虽然这有点奇怪,但更好的办法是PHP修复他们愚蠢的解析器,这样人们就可以编写合理的OOP代码,而不必仅仅为了使用一个合理的方法名而求助于黑客魔法。
/**
 * show off @method
 * @method whateverItReturns default()
 */
class foo {
...