Mid-Atlantic Developer Conference

Anahtar Sözcüklerin Listesi

PHP'de bazı sözcükler özel anlama sahiptirler. Bazıları işlevler, bazılar sabitler olarak karşımıza çıkarken bazılarıyla haya karşılaşmamış olabiliriz. Bunlar aslında dil oluşumlarıdır. Aşağıdaki sözcükleri sabit, sınıf, işlev veya yöntem ismi olarak kullanamazsınız. Değişken ismi olarak kullanılabilirlerse de karışıklığa yol açabilirler.

PHP 7.0.0 itibariyle bu anahtar sözcüklerin öznitelik, sabit ve class bir sabit ismi olarak kullanılmadıkça sınıf, arayüz ve niteliklerin yöntem isimleri olarak kullanılabilmesine izin verilmiştir.

PHP Anahtar Sözcükler
__halt_compiler() abstract and array() as
break callable (PHP 5.4 itibariyle) 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 (PHP 5.5 itibariyle) for foreach function
global goto (PHP 5.3'ten beri) if implements include
include_once instanceof insteadof (PHP 5.4'ten beri) interface isset()
list() namespace (PHP 5.3'ten beri) new or print private
protected public require require_once
return static switch throw trait (PHP 5.4 itibariyle)
try unset() use var while
xor yield (PHP 5.5 itibariyle)
Derleme sabitleri
__CLASS__ __DIR__ (PHP 5.3 itibariyle) __FILE__ __FUNCTION__ __LINE__ __METHOD__
__NAMESPACE__ (PHP 5.3 itibariyle) __TRAIT__ (PHP 5.4 itibariyle)
add a note add a note

User Contributed Notes 3 notes

up
48
martindilling at gmail dot com
5 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
24
Chris
5 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
9
Thomas Hansen
1 year 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)
To Top