1. В PHP нет глобальной статической переменной.
Когда я раньше занимался разработкой .Net, я мог использовать следующий метод для кэширования некоторых данных:
просмотреть обычную копию в буфер обмена?
тест публичного класса {
Private static int Count = 0 //Эта переменная действительна во всем приложении.
}
Тест публичного класса {
Private static int Count = 0 //Эта переменная действительна во всем приложении.
}
PHP — интерпретируемый язык. Хотя он имеет модификатор static, его значение совершенно отличается от значения в .Net.
Даже если переменная в классе объявлена статической, эта переменная действительна только в текущем домене приложения уровня страницы.
2. Понимание области видимости переменных.
Переменные, объявленные вне метода, не могут быть доступны внутри тела метода.
Например:
просмотреть обычную копию в буфер обмена, распечатать?
<?php
$url = " www.webjx.com ";
функция _DisplayUrl() {
эхо $url;
}
функция DisplayUrl() {
глобальный $url;
эхо $url;
}
_DisplayUrl();
ДисплейУрл();
?>
<?php
$url = " www.webjx.com ";
функция _DisplayUrl() {
эхо $url;
}
функция DisplayUrl(){
глобальный $url;
эхо $url;
}
_DisplayUrl();
ДисплейУрл();
?>
Метод _DisplayUrl не будет отображать никаких результатов, поскольку переменная $url недоступна в теле метода _DisplayUrl. Просто добавьте глобальную переменную перед $url, например, метод DisplayUrl.
Доступ к глобальным переменным, определенным в теле метода, можно получить за пределами метода:
просмотреть обычную копию в буфере обмена, распечатать?
<?php
функция _DisplayUrl() {
глобальный $myName;
$myName='ибинь';
}
_DisplayUrl();
echo $myName; // вывод Ибинь;
?>