eval

(PHP 4, PHP 5, PHP 7)

evalBir dizgeyi bir PHP kodu olarak yorumlar

Açıklama

eval ( string $kod_dizgesi ) : mixed

kod_dizgesi ile belirtilen dizgeyi bir PHP kodu olarak yorumlar. Kodları diğer her şeyin yanında, veritabanının bir metin alanında tutmak ve bu kodları gerektiğinde çalıştırmak için çok kullanışlıdır.

eval() işlevini kullanırken hatırda tutulması gereken bazı durumlar vardır: Aktarılan dizgenin PHP kodu olarak geçerli olması gerekir; deyimleri sonlandıran noktalı virgüller bu dahildir, yoksa eval() işlevinden sonraki satırda yorumlayıcı devreden çıkmaz. Ayrıca, kod_dizgesi içindeki öncelemlerin düzgün bir biçimde yapılmış olması gerekir. HTML ve PHP kodlarını karışık kullanmak isterseniz PHP kipinden çıkmak için PHP'nin kapama etiketini kullanabilirsiniz.

Ayrıca, eval() altında kullanılan değişkenlerin değerleriyle birlikte ana betikte geçerli kalacağını aklınızdan çıkarmayın.

Değiştirgeler

kod_dizgesi

Yorumlanacak PHP kodlarını içeren dizge. kod_dizgesi PHP açılış etiketlerini içermemelidir.

Dizge içindeki bir return deyimi dizgenin yorumlanmasını, anında durdurur.

Dönen Değerler

Kod dizgesi içinde bir return bulunmadıkça eval() daima NULL döndürür. return ile bir değer döndürülmesi durumunda bu değeri döndürür. Belirtilen dizgede bir çözümleme hatası saptanırsa eval() FALSE döndürür ve çalışma dosyadaki sonraki deyimden normal olarak devam eder. eval() işlevinin yorumladığı kodlardaki bir hatayı set_error_handler() kullanarak döndürmek mümkün değildir.

Örnekler

Örnek 1 - eval() örneği

<?php
$dizge 
'Gülhane';
$isim 'çınar';
$metin 'Burası $dizge parkı ve ben bir $isim ağacıyım.';
echo 
$metin"\n";
eval(
"\$metin = \"$metin\";");
echo 
$metin"\n";
?>

Yukarıdaki örneğin çıktısı:

Burası $dizge parkı ve ben bir $isim ağacıyım.
Burası Gülhane parkı ve ben bir çınar ağacıyım.

Notlar

Bilginize: Bu bir işlev değil, dil oluşumu olduğundan değişken işlevler kullanılarak çağrılamaz.

İpucu

Sonuçlarını doğrudan tarayıcıya çıktılayan her şey gibi, çıktı denetleme işlevleri bu işlevin de çıktısını yakalamak ve (örneğin) string türünde saklamak için kullanılabilir.

Bilginize:

Yorumlanan kodda ölümcül bir hata varsa betiğin tamamı durdurulur.

Ayrıca Bakınız

  • call_user_func() - İlk değiştirgede belirtilen kullanıcı işlevini çağırır