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 :: Версия для печати :: подвис PHP & OOP
Форумы портала PHP.SU » » Объектно-ориентированное программирование » подвис PHP & OOP

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

1. Fleim - 19 Ноября, 2011 - 20:11:37 - перейти к сообщению
для себя сижу над проектом.
есть исполняемый файл
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.  
  4.     require_once "class/Groups.class.php";
  5.     
  6.     $name = "search";
  7.     $namelist = array("Google", "yandex");
  8.     $nameurl = array("http://www.google.com/", "http://wwww.yandex.ru");
  9.     
  10.     $gr = new Groups($name, $namelist, $nameurl);
  11.  
  12.     
  13.     echo "<pre>";
  14.     print_r($gr->GetNameList());
  15.     echo "</pre>";
  16.  
  17.     echo "<pre>";
  18.     print_r($gr->GetNameUrl());
  19.     echo "</pre>";
  20. ?>
  21.  


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

Теперь сам объект.
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.     
  4.     class Groups {
  5.         
  6.         private $nameGroup;
  7.         private $nameList;
  8.         private $nameUrl;
  9.         
  10.         function __construct($nameGr, $nameLs, $nameUr) {
  11.             
  12.             $this->nameList = array();
  13.             $this->nameUrl = array();
  14.             
  15.             $this->nameGroups = $this->SetNameGroup($nameGr);
  16.             $this->nameList = $this->SetNameList($nameLs);
  17.             $this->nameUrl = $this->SetNameUrl($nameUr);
  18.         }
  19.         
  20.         public function SetNameGroup($str) {
  21.             
  22.             if (isset($str) && strlen($str) < 256) {
  23.                 $this->nameGroup = ucfirst($str);
  24.             } else { exit(); }
  25.         }
  26.         
  27.         public function SetNameList($obj) {
  28.             if (isset($obj)) {
  29.                 for ($i = 0; $i < count($obj); $i++) {
  30.                     $this->nameList[$i] = $obj[$i];
  31.                 }
  32.             } else { exit("error!"); }
  33.         }
  34.         
  35.         public function SetNameUrl($obj) {
  36.             if (isset($obj)) {
  37.                 $this->nameUrl = $obj;
  38.                 
  39.                 echo "<pre>";
  40.                 print_r($this->nameUrl);
  41.                 echo "</pre>";
  42.                 
  43.             } else { exit("error!"); }
  44.         }
  45.         
  46.         public function GetNameGroup() {
  47.             
  48.             return $this->nameGroup;
  49.         }
  50.         
  51.         public function GetNameList() {
  52.   
  53.             return $this->nameList;
  54.         }
  55.         
  56.         public function GetNameUrl() {
  57.             
  58.             return $this->nameUrl;
  59.         }
  60.     }
  61. ?>
  62.  


В методе SetNameUrl($obj) есть небольшой дебаг, вывод поля на экран и заодно убедиться что поле было установлено, все работает, дамп выводится, свойство установлено.

Как видно в исполняемом файле, пытаюсь получить массивы с помощью методов GetNameList() и GetNameUrl() ничего не возвращают, вообще не могу понять что я получаю... может свежем глазом кто-то глянет...

Прошу не ругать, начинаю практиковать, голова уже варенная немного... (
2. caballero - 19 Ноября, 2011 - 20:43:12 - перейти к сообщению
Цитата:
15. $this->nameGroups = $this->SetNameGroup($nameGr);
16. $this->nameList = $this->SetNameList($nameLs);
17. $this->nameUrl = $this->SetNameUrl($nameUr);


присвоения убери
3. Fleim - 19 Ноября, 2011 - 21:07:21 - перейти к сообщению
мдаа Хорошо стыдно стыдно стыдно ... чувствую абсентом не отделаться! )
Благодарю! Нимб

 

Powered by ExBB FM 1.0 RC1