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 + ООП

 PHP.SU

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


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

> Описание: Предлогаю совместо написать маленькие примеры с использованием классов, чтоб ликведировать безграмотность в этом аспекте у новичков
ALEN
Отправлено: 17 Декабря, 2008 - 09:12:14
Post Id



Участник


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


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




CODE (text):
скопировать код в буфер обмена
  1.  
  2. // Не подключаем файлы классов в код; подключение произойдет только в случае
  3. // ошибки (вызова класа), что может ускорить работу программы
  4. // (1)
  5. function __autoload($class_name) {
  6.      include_once($class_name . ".php");
  7. }
  8.  
  9. // Если использовать функцию, в любом случае необходимо
  10. // вводить все параметры, (2) а с помощью класса можно это
  11. // сделать более понятно + избежать вывода ненужных данных
  12.  
  13. $qwe= new url;
  14. $qwe->href='http://dfcasdasd.ru/';
  15. $qwe->style='display:none;';
  16. $qwe->class='delete';
  17. $qwe->id='12';
  18. $qwe->text="dfcasdasd.ru";
  19. $qwe->title="ссылка на dfcasdasd.ru";
  20. echo $qwe->url();
  21.  

1- условное подключение классов. Согласен. Можно и не только в случае ошибки, а просто в зависимости от разных условий инклюдить разный класс. Если конечно это надо. Кстати, это и не только к классам относится
2- а параметры со значениями по умолчанию?

Файл с классом :
CODE (text):
скопировать код в буфер обмена
  1.  
  2. <?php
  3. class url{
  4. function url()
  5. {
  6. $host = "http://".$_SERVER['SERVER_NAME']."/";
  7.  
  8. $href=$this->href;
  9. $class=$this->class;
  10. $style=$this->style;
  11. $id=$this->id;
  12. $title=$this->title;
  13. $text=$this->text;
  14.  
  15. if($title!=''){ $title=' title="'.$text.'"'; }
  16. if($href!=''){ $href=' href="'.$href.'"'; }
  17. if($class!=''){ $class=' class="'.$class.'"'; }
  18. if($style!=''){ $style=' style="'.$style.'"'; }
  19. if($id!=''){ $id=' id="'.$id.'"'; }
  20. if($text==''){ $text='Текст ссылки'; }
  21.  
  22.  
  23. return '<a'.$href.$class.$style.$id.$title.' >'.$text.'</a>';
  24. }}
  25.  
  26. ?>
  27.  


Примерно в общем так вот!
По-моему, все таки про ООП хорошо объснено в теме http://forum.php.su/topic.php?forum=1&topic=1549


Отредактировано модератором: Champion, 17 Декабря, 2008 - 09:41:46
Подписал жирным свое мнение прям тут, чтоб много не цитировать
 
 Top
maslcs
Отправлено: 22 Декабря, 2008 - 05:53:40
Post Id


Новичок


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


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




А вы этот код пробовали?
Сначала нуна свойства объявлять, а потом юзать.
 
 Top
Гость
Отправлено: 22 Декабря, 2008 - 08:07:43
Post Id


УДАЛЁН










Цитата:
Сначала нуна свойства объявлять, а потом юзать.
Не факт, они могут и на лету создаваться Улыбка
 
 Top
ALEN
Отправлено: 22 Декабря, 2008 - 09:01:29
Post Id



Участник


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


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




maslcs
ответ ниже - это один из плюсов использования классов.

P.S. Это PHP5 - читаем манул подробней.
(Добавление)
Champion
Все описано хорошо, но я когда не знал даже азов в классах, то мне этого ответа было не достаточно - я хотел увидеть пример, который бы показал преимущество классов над функциями.

Изначально я вообще не понимал - зачем писать больше, а результат тот же. Этот пример я нашел самым простым, чтоб понять преимущество.
 
 Top
Alek
Отправлено: 28 Марта, 2011 - 11:37:39
Post Id


Новичок


Покинул форум
Сообщений всего: 52
Дата рег-ции: Март 2011  
Откуда: Набережные Челны


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




PHP:
скопировать код в буфер обмена
  1.  
  2. class myClass{
  3.  private  $x =-10;
  4.   private $y =-10;
  5. function  lok(){
  6. ....
  7. echo " $this->y /  $this->x";
  8.  }
  9. }
  10. ....
  11. $test = new myClass;
  12. $test->lok();
  13.  

Как в выводе изменить значение переменной на положительное...

(Отредактировано автором: 28 Марта, 2011 - 11:52:31)

 
 Top
Мелкий Супермодератор
Отправлено: 28 Марта, 2011 - 11:59:36
Post Id



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


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


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




Alek пишет:
Как в выводе изменить значение переменной на положительное...

abs
PS: некромант, однако.


-----
PostgreSQL DBA
 
 Top
Alek
Отправлено: 28 Марта, 2011 - 12:21:02
Post Id


Новичок


Покинул форум
Сообщений всего: 52
Дата рег-ции: Март 2011  
Откуда: Набережные Челны


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




Мелкий пишет:
Alek пишет:
Как в выводе изменить значение переменной на положительное...

abs
PS: некромант, однако.

Спасибо Улыбка
получилось типа
PHP:
скопировать код в буфер обмена
  1.  
  2. ....
  3.  
  4. if($this->x < 0 and $this->y < 0)#//если $x и $y меньше нуля
  5. {    
  6.       $this->y=abs($this->y);
  7.       $this->x=abs($this->x);
  8.  
  9.       echo " $this->y /  $this->x";
  10.  
  11. .....
  12. }
  13. ....
  14.  
 
 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