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)
;
Çö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.
| 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_CASE |
case | switch |
T_CATCH |
catch | İstisnalar (PHP 5.0.0 ve sonrasında mevcuttur). |
T_CHARACTER |
Artık kullanılmıyor. | |
T_CLASS |
class | sınıflar ve nesneler |
T_CLASS_C |
__CLASS__ |
sihirli sabitler (PHP 4.3.0 ve sonrasında mevcuttur). |
T_CLONE |
clone | sınıflar ve nesneler (PHP 5.0.0 ve sonrasında mevcuttur). |
T_CLOSE_TAG |
?> veya %> | HTML'den Kaçmak |
T_COMMENT |
// veya # ve PHP5'te /* */ | 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, etc | gerçek sayılar |
T_DOC_COMMENT |
/** */ | PHPDoc tarzı açıklmalar (PHP 5.0.0 ve sonrasında mevcuttur). |
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_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üğü (PHP 5.0.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 (PHP 4.3.0 ve sonrasında mevcuttur). |
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 (PHP 5.0.0 ve sonrasında mevcuttur). |
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 (PHP 5.0.0 ve sonrasında mevcuttur). |
T_INT_CAST |
(int) or (integer) | tür çarpıtma |
T_INTERFACE |
interface | Nesne Arayüzleri (PHP 5.0.0 ve sonrasında mevcuttur). |
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_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 (PHP 5.0.0 ve sonrasında mevcuttur). |
T_MINUS_EQUAL |
-= | atama işleçleri |
T_ML_COMMENT |
/* ve */ | açıklamalar (sadece PHP 4) |
T_MOD_EQUAL |
%= | atama işleçleri |
T_MUL_EQUAL |
*= | atama işleçleri |
T_NS_C |
>__NAMESPACE__ |
isim alanları.
Ayrıca, T_NAMESPACE olarak tanımlıdır
(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_OLD_FUNCTION |
old_function | (Sadece PHP 4) |
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_PRINT |
print() | |
T_PRIVATE |
private | sınıflar ve nesneler (PHP 5.0.0 ve sonrasında mevcuttur). |
T_PUBLIC |
public | sınıflar ve nesneler (PHP 5.0.0 ve sonrasında mevcuttur). |
T_PROTECTED |
protected | sınıflar ve nesneler (PHP 5.0.0 ve sonrasında mevcuttur). |
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 |
"$a[a]" | dizge içinde dizge dizi indisi |
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 (PHP 5.0.0 ve sonrasında mevcuttur). |
T_TRY |
Try | İstisnalar (PHP 5.0.0 ve sonrasında mevcuttur). |
T_UNSET |
unset() | unset() |
T_UNSET_CAST |
(unset) | tür çarpıtma (PHP 5.0.0 ve sonrasında mevcuttur). |
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 |
Ayrıca bakınız: token_name().
fgm at osinet dot fr ¶
4 years ago
o_O Tync ¶
4 years ago
Some tokens are not documented, so here they are:
all of them are located within non-constant ""-strings:
T_CHARACTER - \r\n\t... . They're presented AS IS and NOT replaced with actual characters
T_ENCAPSED_AND_WHITESPACE - whitespace
T_DOLLAR_OPEN_CURLY_BRACES - ${ (ONLY in non-constant ""-strings)
T_STRING - strings (example: "$a aa")
T_NUM_STRING - numbers (exaple: "$a 0")
still have no idea what T_ENCAPSED_AND_WHITESPACE means... :(
nathan at unfinitydesign dot com ¶
4 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.
