PHP 7.1.0 Alpha 2 Released

Çözümleyici Dizgeciklerinin Listesi

PHP dilinin çeşitli parçaları dahili olarak T_SR benzeri türlerle ifade edilir. PHP, çözümleme hatalarında bu gibi betimleyicileri şöyle çıktılar: "Parse error: unexpected T_SR, expecting ',' or ';' in script.php on line 10." (Çözümleme hatası: beklenmedik T_SR, script.php'nin 10. satırında ',' veya ';' umuluyor)

T_SR'nin anlamını bildiğiniz varsayılır. Bilmeyenler için bu betimleyiciler PHP söz dizimi ve kılavuzdaki açıklamalarına bağlarla burada listelenmişlerdir.

Bilginize: T_* sabitlerinin kullanımı

Aşağıda listelenmiş sabitlerin tümü aynı zamanda PHP sabiti olarak da tanımlıdır. Bunların değerleri PHP'nin temel çözümleyici alt yapısına dayalı olarak özdevinimli üretilir. Yani bir dizgeciğin somut değeri iki PHP sürümü arasında değişebilir. Örneğin T_FILE sabitinin değeri PHP 5.3'te 365 iken aynı değer PHP 5.4'te T_TRAIT sabitine atanmışken T_FILE sabitinin değeri 369'dur. Yani kodunuz PHP sürümleri arasında uyumluluk sağlamak için PHP'nin X.Y.Z sürümünden alınmış özgün T_* değerlerine güvenmemelidir. Kodunuz bunun yerine her iki PHP sürümü ile çalışacak uygun bir stratejiden, T_* değerlerinden ve özel değerlerden (10000 gibi büyük bir değer kullanmak) yararlanmalıdır.

Dizgecikler
Dizgecik Söz dizimi Gönderim
T_ABSTRACT abstract Sınıf Soyutlama (PHP 5.0.0 ve sonrasında mevcuttur).
T_AND_EQUAL &= atama işleçleri
T_ARRAY array() array(), dizi sözdizimi
T_ARRAY_CAST (array) tür çarpıtma
T_AS as foreach
T_BAD_CHARACTER   \t (0x09), \n (0x0a) ve \r (0x0d) hariç ASCII 32'den küçük karakterler
T_BOOLEAN_AND && mantıksal işleçler
T_BOOLEAN_OR || mantıksal işleçler
T_BOOL_CAST (bool) veya (boolean) tür çarpıtma
T_BREAK break break
T_CALLABLE callable callable
T_CASE case switch
T_CATCH catch İstisnalar
T_CHARACTER   Artık kullanılmıyor.
T_CLASS class sınıflar ve nesneler
T_CLASS_C __CLASS__ sihirli sabitler
T_CLONE clone sınıflar ve nesneler
T_CLOSE_TAG ?> veya %> HTML'den Kaçmak
T_COMMENT // veya # ve /* */ açıklamalar
T_CONCAT_EQUAL .= atama işleçleri
T_CONST const sınıf sabitleri
T_CONSTANT_ENCAPSED_STRING "foo" veya 'bar' dizge söz dizimi
T_CONTINUE continue continue deyimi
T_CURLY_OPEN {$ karmaşık değişken çözümlemeli sözdizimi
T_DEC -- Arttırım ve Eksiltim İşleçleri
T_DECLARE declare declare
T_DEFAULT default switch
T_DIR __DIR__ sihirli sabitler (PHP 5.3.0 ve sonrasında mevcuttur).
T_DIV_EQUAL /= atama işleçleri
T_DNUMBER 0.12, vs. gerçek sayılar
T_DOC_COMMENT /** */ PHPDoc tarzı açıklamalar.
T_DO do do..while
T_DOLLAR_OPEN_CURLY_BRACES ${ Karmaşık (kaşlı ayraçlı) sözdizimi
T_DOUBLE_ARROW => dizi söz dizimi
T_DOUBLE_CAST (real), (double) veya (float) tür çarpıtma
T_DOUBLE_COLON :: Bakınız: T_PAAMAYIM_NEKUDOTAYIM
T_ECHO echo echo
T_ELLIPSIS ... işlev değiştirgeleri (PHP 5.6.0 ve sonrasında mevcuttur.)
T_ELSE else else
T_ELSEIF elseif elseif
T_EMPTY empty empty()
T_ENCAPSED_AND_WHITESPACE " $a" dizge değişkenlerinde sabit kısım
T_ENDDECLARE enddeclare declare, denetim yapıları için diğer sözdizimi
T_ENDFOR endfor for, denetim yapıları için diğer sözdizimi
T_ENDFOREACH endforeach foreach, denetim yapıları için diğer sözdizimi
T_ENDIF endif if, denetim yapıları için diğer sözdizimi
T_ENDSWITCH endswitch switch, denetim yapıları için diğer sözdizimi
T_ENDWHILE endwhile while, denetim yapıları için diğer sözdizimi
T_END_HEREDOC   yorumlu metinler
T_EVAL eval() eval()
T_EXIT exit veya die exit(), die()
T_EXTENDS extends extends, sınıflar ve nesneler
T_FILE __FILE__ sihirli sabitler
T_FINAL final final Anahtar Sözcüğü
T_FINALLY finally İstisnalar (PHP 5.5.0 ve sonrasında mevcuttur.)
T_FOR for for
T_FOREACH foreach foreach
T_FUNCTION function veya cfunction işlevler
T_FUNC_C __FUNCTION__ sihirli sabitler
T_GLOBAL global değişken etki alanı
T_GOTO goto goto deyimi (PHP 5.3.0 ve sonrasında mevcuttur).
T_HALT_COMPILER __halt_compiler() __halt_compiler (PHP 5.1.0 ve sonrasında mevcuttur).
T_IF if if
T_IMPLEMENTS implements Nesne Arayüzleri
T_INC ++ arttırım ve eksiltim işleçleri
T_INCLUDE include() include
T_INCLUDE_ONCE include_once() include_once
T_INLINE_HTML   PHP dışı metin
T_INSTANCEOF instanceof tür işleçleri
T_INSTEADOF insteadof Nitelikler (PHP 5.4.0 ve sonrasında mevcuttur)
T_INT_CAST (int) or (integer) tür çarpıtma
T_INTERFACE interface Nesne Arayüzleri
T_ISSET isset() isset()
T_IS_EQUAL == karşılaştırma işleçleri
T_IS_GREATER_OR_EQUAL >= karşılaştırma işleçleri
T_IS_IDENTICAL === karşılaştırma işleçleri
T_IS_NOT_EQUAL != or <> karşılaştırma işleçleri
T_IS_NOT_IDENTICAL !== karşılaştırma işleçleri
T_IS_SMALLER_OR_EQUAL <= karşılaştırma işleçleri
T_SPACESHIP <=> karşılaştırma işleçleri (PHP 7.0.0 ve sonrasında mevcuttur.)
T_LINE __LINE__ sihirli sabitler
T_LIST list() list()
T_LNUMBER 123, 012, 0x1ac, vs. tamsayılar
T_LOGICAL_AND and mantıksal işleçler
T_LOGICAL_OR or mantıksal işleçler
T_LOGICAL_XOR xor mantıksal işleçler
T_METHOD_C __METHOD__ sihirli sabitler
T_MINUS_EQUAL -= atama işleçleri
T_MOD_EQUAL %= atama işleçleri
T_MUL_EQUAL *= atama işleçleri
T_NAMESPACE namespace isim alanları (PHP 5.3.0 ve sonrasında mevcuttur.)
T_NS_C >__NAMESPACE__ isim alanları. (PHP 5.3.0 ve sonrasında mevcuttur).
T_NS_SEPARATOR \ isim alanları (PHP 5.3.0 ve sonrasında mevcuttur.)
T_NEW new sınıflar ve nesneler
T_NUM_STRING "$a[0]" dizge içinde sayısal dizi indisi
T_OBJECT_CAST (object) tür çarpıtma
T_OBJECT_OPERATOR -> sınıflar ve nesneler
T_OPEN_TAG <?php, <? veya <% HTML'den Kaçmak
T_OPEN_TAG_WITH_ECHO <?= veya <%= HTML'den Kaçmak
T_OR_EQUAL |= atama işleçleri
T_PAAMAYIM_NEKUDOTAYIM :: ::. Ayrıca, T_DOUBLE_COLON olarak tanımlıdır.
T_PLUS_EQUAL += atama işleçleri
T_POW ** aritmetik işleçleri (PHP 5.6.0 ve sonrasında mevcuttur.)
T_POW_EQUAL **= atama işleçleri (PHP 5.6.0 ve sonrasında mevcuttur.)
T_PRINT print() print
T_PRIVATE private sınıflar ve nesneler
T_PUBLIC public sınıflar ve nesneler
T_PROTECTED protected sınıflar ve nesneler
T_REQUIRE require() require
T_REQUIRE_ONCE require_once() require_once
T_RETURN return dönüş değerleri
T_SL << bitsel işleçler
T_SL_EQUAL <<= atama işleçleri
T_SR >> bitsel işleçler
T_SR_EQUAL >>= atama işleçleri
T_START_HEREDOC <<< yorumlu metinler
T_STATIC static değişken etki alanı
T_STRING parent, self, vs. parent ve self gibi anahtar sözcükler, işlev isimleri ve sınıf isimleri gibi belirteçlerle eşleşir. Ayrıca bakınız: T_CONSTANT_ENCAPSED_STRING.
T_STRING_CAST (string) tür çarpıtma
T_STRING_VARNAME "${a karmaşık değişken çözümlemeli sözdizimi
T_SWITCH switch switch
T_THROW Throw İstisnalar
T_TRY Try İstisnalar
T_UNSET unset() unset()
T_UNSET_CAST (unset) tür çarpıtma
T_USE use isim alanları (PHP 5.3.0 ve sonrasında mevcuttur).
T_VAR var sınıflar ve nesneler
T_VARIABLE $foo değişkenler
T_WHILE while while, do..while
T_WHITESPACE \t \r\n  
T_XOR_EQUAL ^= atama işleçleri
T_YIELD yield üreteçler (PHP 5.5.0 ve sonrasında mevcuttur).

Ayrıca bakınız: token_name().

add a note add a note

User Contributed Notes 2 notes

up
10
nathan at unfinitydesign dot com
7 years ago
T_ENCAPSED_AND_WHITESPACE is whitespace which intersects a group of tokens. For example, an "unexpected T_ENCAPSED_AND_WHITESPACE" error is produced by the following code:

<?php
$main_output_world
= 'snakes!';
echo(
'There are' 10 $main_output_world);
?>

Note the missing concatenation operator between the two strings leads to the whitespace error that is so named above. The concatenation operator instructs PHP to ignore the whitespace between the two code tokens (the so named "encapsed" data"), rather than parse it as a token itself.

The correct code would be:

<?php
$main_output_world
= 'snakes!';
echo(
'There are' . 10 . $main_output_world);
?>

Note the addition of the concatenation operator between each token.
up
0
fgm at osinet dot fr
7 years ago
T_ENCAPSED_AND_WHITESPACED is returned when parsing strings with evaluated content, like "some $value" or this example from the Strings reference page:

<?php
echo <<<EOT
My name is "$name". I am printing some $foo->foo.
Now, I am printing some
{$foo->bar[1]}.
This should print a capital 'A': \x41
EOT;
?>

This last example is tokenized as:
T_ECHO
  echo
T_WHITESPACE
  %20 (a space character)
T_START_HEREDOC
  <<
T_ENCAPSED_AND_WHITESPACE
  My name is "
T_VARIABLE
  $name
T_ENCAPSED_AND_WHITESPACE   
  ". I am printing some
T_VARIABLE   
  $foo
T_OBJECT_OPERATOR   
  ->
T_STRING   
  foo
T_ENCAPSED_AND_WHITESPACE   
  . Now, I am printing some
T_CURLY_OPEN   
  {
T_VARIABLE   
  $foo
T_OBJECT_OPERATOR   
  ->
T_STRING   
  bar
(terminal)
  [
T_LNUMBER   
  1
(terminal)
  ]
(terminal)
  }
T_ENCAPSED_AND_WHITESPACE   
  . This should print a capital 'A': \x41
T_END_HEREDOC
  EOT
(terminal)
  ;
To Top