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]   

> Без описания
QDef
Отправлено: 03 Апреля, 2011 - 01:28:11
Post Id


Гость


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


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




PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. class captcha {
  3.         //config
  4.         var $width= 1;
  5.         var $height = 1;
  6.         var $font_size;
  7.        
  8.        
  9.        
  10.         function getImage(){
  11.                
  12.                 $image = imagecreatetruecolor($this->width, $this->height) or die("Error");
  13.                 header("Content-type:image/png");
  14.                 imagepng($image);
  15.                 imagedestroy($image);
  16.         }
  17.  
  18.        
  19. function __construct(){
  20.                
  21.                 $this->getImage();
  22.         }
  23. }
  24.  
  25. $img = new captcha();
  26. $img->width = 333;
  27. $img->height = 300;
  28.  
  29. $img->getImage()
  30.  
  31. ?>
  32.  


в самом класе указаны стандартные значения 1 и 1. После создания объекта они не перезаписываются. Подскажите пожалуйста что не правильно делаю?
 
 Top
OrmaJever Модератор
Отправлено: 03 Апреля, 2011 - 01:33:48
Post Id



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


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


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




всё впринципе работает как нужно. Только место var нужно обьвлять свойства как public private или protected.
А работает так потому что при создании обьекта вызывается метод __construct который вызывает метод getImage, который в свою очередь создаёт изображение созначениями которые ещё не изменили.

(Отредактировано автором: 03 Апреля, 2011 - 01:34:15)



-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
QDef
Отправлено: 03 Апреля, 2011 - 01:35:23
Post Id


Гость


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


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




спасибо Улыбка без __construct всё нормально.. Я думал этот метод обязателен.

(Отредактировано автором: 03 Апреля, 2011 - 01:37:03)

 
 Top
OrmaJever Модератор
Отправлено: 03 Апреля, 2011 - 01:41:59
Post Id



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


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


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




в простом класе нету обязательных методов или свойств.

(Отредактировано автором: 03 Апреля, 2011 - 01:42:18)



-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 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