Liste de mots-clés

Ces mots ont un sens spĂ©cial pour PHP. Certains reprĂ©sentent des objets ressemblant Ă  des fonctions, d'autres Ă  des constantes, et ainsi de suite, mais ils n'en sont pas vraiment : ce sont des structures de langage. Les mots-clĂ©s suivants ne peuvent pas ĂȘtre utilisĂ©s comme nom de constante, de classe ou de fonction. Ils sont cependant autorisĂ©s comme nom de propriĂ©tĂ©, de constante et de mĂ©thode dans les classes, interfaces, traits sauf le mot-clĂ© class qui ne doit pas ĂȘtre utilisĂ© comme nom de constante.

Mots réservés en PHP
__halt_compiler() abstract and array() as
break callable case catch class
clone const continue declare default
die() do echo else elseif
empty() enddeclare endfor endforeach endif
endswitch endwhile eval() exit() extends
final finally fn (Ă  partir de PHP 7.4) for foreach
function global goto if implements
include include_once instanceof insteadof interface
isset() list() match (Ă  partir de PHP 8.0) namespace new
or print private protected public
readonly (Ă  partir de PHP 8.1.0) * require require_once return static
switch throw trait try unset()
use var while xor yield
yield from        

* readonly peut ĂȘtre utilisĂ© comme nom de fonction.

Constantes utilisées lors de la compilation
__CLASS__ __DIR__ __FILE__ __FUNCTION__ __LINE__
__METHOD__ __PROPERTY__ __NAMESPACE__ __TRAIT__
add a note

User Contributed Notes 3 notes

up
24
martindilling at gmail dot com ¶
13 years ago
RegEx to find all the keywords:

\b(
(a(bstract|nd|rray|s))|
(c(a(llable|se|tch)|l(ass|one)|on(st|tinue)))|
(d(e(clare|fault)|ie|o))|
(e(cho|lse(if)?|mpty|nd(declare|for(each)?|if|switch|while)|val|x(it|tends)))|
(f(inal|or(each)?|unction))|
(g(lobal|oto))|
(i(f|mplements|n(clude(_once)?|st(anceof|eadof)|terface)|sset))|
(n(amespace|ew))|
(p(r(i(nt|vate)|otected)|ublic))|
(re(quire(_once)?|turn))|
(s(tatic|witch))|
(t(hrow|r(ait|y)))|
(u(nset|se))|
(__halt_compiler|break|list|(x)?or|var|while)
)\b
up
19
Thomas Hansen ¶
9 years ago
Please note that reserved words are still not allowed to be used as namespace or as part of it:

<?php
namespace MyNameSpace\List;

class Test
{
}
?>

This will fail with a Parse error:  syntax error, unexpected 'List' (T_LIST), expecting identifier (T_STRING)
up
11
Chris ¶
13 years ago
Here they are as arrays:

<?php
$keywords = array('__halt_compiler', 'abstract', 'and', 'array', 'as', 'break', 'callable', 'case', 'catch', 'class', 'clone', 'const', 'continue', 'declare', 'default', 'die', 'do', 'echo', 'else', 'elseif', 'empty', 'enddeclare', 'endfor', 'endforeach', 'endif', 'endswitch', 'endwhile', 'eval', 'exit', 'extends', 'final', 'for', 'foreach', 'function', 'global', 'goto', 'if', 'implements', 'include', 'include_once', 'instanceof', 'insteadof', 'interface', 'isset', 'list', 'namespace', 'new', 'or', 'print', 'private', 'protected', 'public', 'require', 'require_once', 'return', 'static', 'switch', 'throw', 'trait', 'try', 'unset', 'use', 'var', 'while', 'xor');

$predefined_constants = array('__CLASS__', '__DIR__', '__FILE__', '__FUNCTION__', '__LINE__', '__METHOD__', '__NAMESPACE__', '__TRAIT__');
?>

Along with get_defined_functions() and get_defined_constants(), this can be useful for checking eval() statements.