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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Вызов переменной в ООП

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
RickMan
Отправлено: 06 Августа, 2013 - 23:01:30
Post Id


Участник


Покинул форум
Сообщений всего: 1033
Дата рег-ции: Май 2012  


Помог: 30 раз(а)




Как мне вызвать переменную $variable в указанном в скрипте месте?

PHP:
скопировать код в буфер обмена
  1. class Work{
  2.         var $variable;
  3.        
  4.         public function test(){
  5.        
  6.                 function test_1(){
  7.                         # Вызвать переменную variable тут
  8.                 }      
  9.                
  10.                 test_1();
  11.         }
  12.  
  13.  
  14. }


Заранее всем спасибо...

(Отредактировано автором: 06 Августа, 2013 - 23:01:49)

 
 Top
Okula
Отправлено: 06 Августа, 2013 - 23:31:27
Post Id



Участник


Покинул форум
Сообщений всего: 1389
Дата рег-ции: Окт. 2010  


Помог: 42 раз(а)




RickMan, во-первых, не переменная, а свойство класса.
Доступ к свойствам и методам класса внутри тела класса осуществляется через переменую $this.
 
 Top
DelphinPRO
Отправлено: 06 Августа, 2013 - 23:35:22
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




не нужно объявлять функцию (test_1) в теле метода.
вынесите ее за пределы класса, или, что лучше сделайте приватным методом класса.
PHP:
скопировать код в буфер обмена
  1. class Work{
  2.         var $variable;
  3.         public function test(){
  4.                 $this->test_1();
  5.         }
  6.         private function test_1(){
  7.                 echo $this->variable;
  8.         }      
  9. }


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
EuGen Администратор
Отправлено: 06 Августа, 2013 - 23:52:16
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Использование var для свойств и public для публичных методов несколько странно. Если писать в терминах PHP 4/5 - то везде. Выше уже сказали, что обратиться к свойствам класса внутри него можно через $this


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB