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.SU » PHP » Программирование на PHP » Видимость переменных в классе

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

1. UUUser - 01 Апреля, 2011 - 19:03:16 - перейти к сообщению
Здравствуйте!
Есть класс:
PHP:
скопировать код в буфер обмена
  1. class category {
  2.         var $position;
  3.         var $name;
  4.         function load ($id) {
  5.                 $r=mysql_query("SELECT * FROM categories WHERE id = \"$id\"");
  6.                 $f=mysql_fetch_array($r);
  7.                 $position=$f['position'];
  8.                 $name=$f['name'];
  9.         }
  10. }

В сценарии index.php он подключается:
PHP:
скопировать код в буфер обмена
  1. include "category.class.php";
  2. $ins = new category;
  3. $ins->load($id);
  4. echo $position;

Однако, содержимое переменной не выводится. Подскажите, в чем конкретно проблема? Огорчение
2. Okula - 01 Апреля, 2011 - 20:03:04 - перейти к сообщению
UUUser пишет:
Однако, содержимое переменной не выводится. Подскажите, в чем конкретно проблема?

PHP:
скопировать код в буфер обмена
  1. include "category.class.php";
  2. $ins = new category;
  3. $ins->load($id);
  4. echo $ins->position;

(Добавление)
Указывайте атрибуты свойства в классе ($var - по умолчанию public, что не всегда хорошо)
В PHP 5 применяются атрибуты public, private и protected
(Добавление)
PHP:
скопировать код в буфер обмена
  1. class category {
  2.         public $position;
  3.         public $name;
  4.         function load ($id) {
  5.                 $r=mysql_query("SELECT * FROM categories WHERE id = \"$id\"");
  6.                 $f=mysql_fetch_array($r);
  7.                 $this->position=$f['position'];
  8.                 $this->name=$f['name'];
  9.         }
  10. }
3. JustUserR - 02 Апреля, 2011 - 19:27:22 - перейти к сообщению
UUUser пишет:
Однако, содержимое переменной не выводится. Подскажите, в чем конкретно проблема?
В качестве возможной причины осуществления некорректного функционирования предполагаемого PHP-приложения, допустимо использование рассмотрения целевых выбираемых высот и размещений внутренних базовых элементных уровней трактования, для которых производится идентификационные включения ассоциированных информационных полей; в качестве конкретной причины осуществленя некорректного функицонирования PHP-приложения, допустимо использование определение переменного объекта в текущем базовом потоке исполнения, для которого не обеспечивается предшествующее определение соответственного объектов в пониженном базовом уровне трактования
4. UUUser - 02 Апреля, 2011 - 20:15:08 - перейти к сообщению
Спасибо за помощь! Всё работает, Okula!

 

Powered by ExBB FM 1.0 RC1