[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: статичное свойство)) php??
YVSIK
может есть достаточно где это прочитать ?
собстно я так и не нашел нормального объяснения
вообще для чего это надо ?
Свернутый текст
 function dirScan($dir) 
{
//Объявляем переменную статичной
static $files;
//При первом вызове функции она пуста, по этому
if(empty($files))
{
//Сканируем директорию, вытаскивая в массив все названия файлов
$files = scandir($dir);
//Убираем из массива служебные записи (точка и две точки)
$files = array_diff($files, array('.', '..'));
}
//Если массив пустой, то пишем в него номер 1 При следующем вызове функции
//массив уже не будет пустым, так как объявлен бессмертным конструкцией static

$files = count($files) ? $files : array('1');
//На выход
return $files;
}



//Объявляем переменную статичной 
static $files;

//Объявляем переменную статичной??
ещё раз для чего, как это понимать, статична она или как-то ещё ?
даже и не знаю как к этому относиться,
нашел только публично и это тоже не совсем понятно
какой смысл в этих объявлениях ?





Спустя 4 часа, 49 минут, 8 секунд (15.09.2011 - 07:57) ZSH написал(а):
Статичная переменная по завершению работы функции не уничтожается.
function st()
{
static $i;
if(empty($i))
$i = 1;
++
$i;
return $i;
}

echo st();//1
echo st();//2
echo st();//3

Спустя 1 день, 7 минут, 10 секунд (16.09.2011 - 08:04) linker написал(а):
Но лучше не использовать их, ибо если где-то какая-то ошибка - заманаешься искать.

Спустя 31 минута, 37 секунд (16.09.2011 - 08:36) Mirexzpalich написал(а):
А я люблю статику... Классная штука =)

Спустя 7 минут, 24 секунды (16.09.2011 - 08:43) twin написал(а):
Цитата (linker @ 16.09.2011 - 05:04)
Но лучше не использовать их, ибо если где-то какая-то ошибка - заманаешься искать.

Внутри то функции? Чего её искать... Это же не global

Спустя 1 час, 26 минут, 57 секунд (16.09.2011 - 10:10) linker написал(а):
Именно, попробуй её найди уже после функции.

Спустя 31 минута, 16 секунд (16.09.2011 - 10:42) twin написал(а):
Так она после функции не нужна. Она только там нужна.

Спустя 38 минут, 18 секунд (16.09.2011 - 11:20) linker написал(а):
Ключевой момент здесь по завершению работы функции не уничтожается все остальные росказни не имеют смысла.

Спустя 21 минута, 46 секунд (16.09.2011 - 11:42) twin написал(а):
Все верно. Не уничтожается. И это очень хорошо, ибо польза есть в том великая.
А по твоим рассуждениям и синглтон не имеет смысла, в нем тоже переменная не уничтожается.


Спустя 19 минут, 24 секунды (16.09.2011 - 12:01) linker написал(а):
Не путай ежа с голой жопой. Синглтон один и ты не можешь его изменить, а вот такую переменную в любом участке далее по коду можно изменить и не заметить, а если ещё что-то стороннее и тоже также проименует переменную - ваще жесть.

Спустя 8 минут, 1 секунда (16.09.2011 - 12:09) twin написал(а):
Да с чего ты взял, что её можно изменить то? Она же не глобальная. Она внутри функции. Посмотри код в первом посте - это и есть синглтон. Берем данные из файла при первом обращении, потом из этой переменной, не дергая ФС. Где тут еж, а где жопа?

Спустя 8 минут, 19 секунд (16.09.2011 - 12:17) linker написал(а):
Пошёл я на покой...


_____________
«Гнусное свойство карликовых умов приписывать
________________!свое духовное убожество другим!»
___
О) как-же он прав=>__________________ © Оноре де Бальзак.

отличный хост(рекомендую !! )
My MVC-CMV
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.