Ben (5.2.11 çalıştıran) PHP rahatsız edici bir özelliğe fark ettik. Bir sayfa başka bir sayfaya (ve hem kendi değişkenleri ve işlevlerini içerir) içeriyorsa, her iki sayfa birbirlerinin değişkenleri farkındayız. Ancak, işlevleri (işlev içinde bildirilen olanlar hariç) hiç değişkenlerin farkında gibi görünüyor.
My question: Neden böyle oluyor? Nasıl ben not olur, ya da bu konuda gitmek için daha iyi bir yolu nedir yapabilirim?
Ben tarif ediyorum ne bir örneği aşağıdadır.
Ana sayfa:
<?php
$myvar = "myvar.";
include('page2.php');
echo "Main script says: $somevar and $myvar\n";
doStuff();
doMoreStuff();
function doStuff() {
echo "Main function says: $somevar and $myvar\n";
}
echo "The end.";
?>
sayfa2.php:
<?php
$somevar = "Success!";
echo "Included script says: $somevar and $myvar\n";
function doMoreStuff() {
echo "Included function says: $somevar and $myvar\n";
}
?>
Çıktı:
Included script says: Success! and myvar.
Main script says: Success! and myvar.
Main function says: and
Included function says: and
The end.
Both pages output the variables just fine. Their functions do not.
WRYYYYYY