Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: обращение к переменной через self::
Форумы портала PHP.SU » » Вопросы новичков » обращение к переменной через self::

Страниц (1): [1]
 

1. panchenko - 27 Июля, 2013 - 18:48:24 - перейти к сообщению
Здраствуйте , столкнулся с проблемкой при обращении к переменной через self:: . В отладчике видно, что когда попадаю в метод self::Add(); , массив $tmp заполняется, а потом в foreach'e - self::$tmp сразу становится unitialized. Пытаюсь сделать что-то полобное http://blog[dot]kron0s[dot]com/writing-a[dot][dot][dot]nt-system-in-php , но этот код тоже неработает, проблема такая же. Хотя если просто делаю примерчики как у вас на форуме http://forum.php.su/topic.php?fo...1&topic=3653 , всё работает и даже могу менять значение переменных. Помогите пожалуйста ! Я недавно с PHP , если можно с разьяснениями, заранее благодарен !

PHP:
скопировать код в буфер обмена
  1.  
  2. class test
  3. {
  4.      public static $tmp = array();
  5.      
  6.      public static function Add()
  7.      {
  8.         $tmp[0] = function()
  9.         {
  10.             echo "func1";
  11.         };
  12.        
  13.         $tmp[1] = function()
  14.         {
  15.             echo "func2";
  16.         };
  17.      }
  18.      
  19.      public static function Show()
  20.      {
  21.         self::Add();
  22.         foreach(self::$tmp as $func)
  23.         {
  24.             $func();
  25.             echo '<br />';
  26.         }
  27.      }
  28. }
  29.  
  30. test::Show();
  31.  

(Добавление)
Да ещё забыл сказать , что использую PHP 5.3.25
2. OrmaJever - 27 Июля, 2013 - 19:10:17 - перейти к сообщению
эээ, а ничё что присваивание тоже должно быть с self? иначе $tmp это локальная переменая функции Add.
PHP:
скопировать код в буфер обмена
  1. self::$tmp[0] = ...
  2. self::$tmp[1] = ...
3. panchenko - 27 Июля, 2013 - 21:38:38 - перейти к сообщению
О да-а-а-а-а !!!
Благодарю Вас OrmaJever !!!
Люблю PHP и Ваш ресурс !!! огромная благодарность за оперативность !))))

 

Powered by ExBB FM 1.0 RC1