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]   

> Без описания
Lexx
Отправлено: 05 Июля, 2010 - 19:37:47
Post Id


Новичок


Покинул форум
Сообщений всего: 36
Дата рег-ции: Апр. 2008  


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




добрый день! подскажите пожалуйста как передать переменную в класс.
То есть:
PHP:
скопировать код в буфер обмена
  1.  
  2. $name = $_POST['name'];
  3.  
  4. class empl
  5. {
  6.  
  7. function mth()
  8. {      
  9.  
  10. //сдесь обрабатываются полученные данные c $name
  11.  
  12. }
  13.  
  14.  
  15. }
 
 Top
Champion Супермодератор
Отправлено: 05 Июля, 2010 - 19:41:48
Post Id



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


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


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




1 - суперглобальные переменные доступны в классах;
2 - функция может принимать параметры.
 
 Top
Lexx
Отправлено: 05 Июля, 2010 - 19:44:59
Post Id


Новичок


Покинул форум
Сообщений всего: 36
Дата рег-ции: Апр. 2008  


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




Champion пишет:
1 - суперглобальные переменные доступны в классах;
2 - функция может принимать параметры.


Растерялся а как это выглядит в коде?
 
 Top
Champion Супермодератор
Отправлено: 05 Июля, 2010 - 19:47:41
Post Id



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


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


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




Куда ж ты в классы лезешь, когда такие вопросы задаешь? Сначала изучи функции.
 
 Top
Lexx
Отправлено: 05 Июля, 2010 - 19:55:30
Post Id


Новичок


Покинул форум
Сообщений всего: 36
Дата рег-ции: Апр. 2008  


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




Champion пишет:
Куда ж ты в классы лезешь, когда такие вопросы задаешь? Сначала изучи функции.


с функциями все понятно Хорошо

а вот классы второй день только учу.

поэтому и вопросы глупые Улыбка
 
 Top
ALEN
Отправлено: 05 Июля, 2010 - 20:06:07
Post Id



Участник


Покинул форум
Сообщений всего: 1459
Дата рег-ции: Авг. 2008  
Откуда: Крым


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




Lexx
То что ты называешь функциями, в классе это "метод", а вот то, что ты называешь переменной в классе это объект.

PHP:
скопировать код в буфер обмена
  1. class empl{
  2. function mth()
  3. $myvar=$this->myvar;
  4. echo $myvar;
  5. }
  6. }
  7.  
  8. $class=new empl;
  9. $class->myvar='123321';
  10. $class->mth();

(Отредактировано автором: 05 Июля, 2010 - 20:06:32)

 
 Top
Champion Супермодератор
Отправлено: 05 Июля, 2010 - 20:16:55
Post Id



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


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


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




Lexx пишет:
с функциями все понятно
Lexx пишет:
function mth()
- это функция. Можешь в нее передать параметром нужную перемнную, раз всё понятно. Суперглобальные переменные - это те, которые встроены в ПХП и начинаются с $_. У тебя такая есть. К ней можно обращаться ото всюду: из функций, классов. Что тут непонятного?
Вот третий способ, который Alen привел - простое присваивание. Правда, он противоречит инкапсуляции, но тоже способ.
 
 Top
wats
Отправлено: 05 Июля, 2010 - 20:44:52
Post Id


Новичок


Покинул форум
Сообщений всего: 16
Дата рег-ции: Июль 2010  
Откуда: Пермь, Россия


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




PHP:
скопировать код в буфер обмена
  1. class empl
  2. {
  3.     function mth($name)
  4.     {
  5.         //сдесь обрабатываются полученные данные c $name
  6.     }
  7. }
  8.  
  9. $empl = new empl();
  10. $empl->mth($_POST['name']);


-----
Обычный web-мастер
 
 Top
JustUserR
Отправлено: 06 Июля, 2010 - 15:31:38
Post Id



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


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


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




Lexx пишет:
Подскажите пожалуйста как передать переменную в класс
Функциональными элементами класса являются методы и именно они могут обрабатывать определенные переменные - при этом метод также может работать с глобальными переменными путем использования ключевого слова global Если же под передачей переменной в класс вы подразумеваете копирование или передачу по ссылке ее значения в одно из свойств класса - то это можно реализовать с помощью конструктора когда при создании экземпляра класса вы будете указывать переменные значения которых вы хотите передавать в класс Учтите что хотя вариант с передачей значения по ссылке будет работать - но он притиворечит принципу инкапсуляции в ООП


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB