Lista cuvintelor-cheie

Aceste cuvinte au o semnificație specială în PHP. Unele din ele se aseamănă cu funcții, altele cu constante ș.a.m.d., însă aceasta nu este așa: ele sunt construcții ale limbajului. Nu puteți utiliza cuvintele ce urmează ca constante, denumiri ale claselor, funcțiilor sau metodelor. Utilizarea lor ca denumiri ale variabilelor este în general OK, dar poate duce la confuzie.

Începând cu PHP 7.0.0 aceste cuvinte-cheie sunt permise în denumiri de proprietăți, constante și metode ale claselor, interfețelor și trăsăturilor, cu excepția că class nu poate fi folosit ca nume de constantă.

Cuvinte-cheie PHP
__halt_compiler() abstract and array() as
break callable (începând cu PHP 5.4) 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 (începând cu PHP 5.5) fn (începând cu PHP 7.4) for foreach function global goto (începând cu PHP 5.3) if implements
include include_once instanceof insteadof (începând cu PHP 5.4) interface
isset() list() namespace (începând cu PHP 5.3) new or
print private protected public require
require_once return static switch throw
trait (începând cu PHP 5.4) try unset() use var
while xor yield (începând cu PHP 5.5) yield from (începând cu PHP 7.0)
Constante la compilare
__CLASS__ __DIR__ (începând cu PHP 5.3) __FILE__ __FUNCTION__ __LINE__ __METHOD__
__NAMESPACE__ (începând cu PHP 5.3) __TRAIT__ (începând cu PHP 5.4)
add a note add a note

User Contributed Notes 4 notes

up
22
Thomas Hansen
8 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
27
martindilling at gmail dot com
11 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
20
Chris
12 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.
up
-32
Johnny D.
4 years ago
const FORBIDDEN_TYPES = [
    'null',

    'bool',
    'false',
    'true',

    'int',
    'float',

    'string',
];
To Top