Тег ‘OOP’:

Основы ООП

Автор статьи не я. Мне очень понравилась тематика. Данную информацию полезно знать 100% всем PHP программистам, а предисловие всем программистам. Спасибо автору! Статья взята с PHP.SU!

Объектно-ориентированные программы более просты и мобильны, их легче модифицировать и сопровождать, чем их “традиционных” собратьев. Кроме того, похоже, сама идея объектной ориентированности при грамотном ее использовании позволяет программе быть даже более защищенной от различного рода ошибок, чем это задумывал программист в момент работы над ней. Однако ничего не дается даром: сами
идеи ООП довольно трудны для восприятия “с нуля”, поэтому до сих пор очень большое количество программ (различные системы Unix, Apache, Perl, да и сам PHP) все еще пишутся на старом добром “объектно-неориентированном” Си.

PHP до недавнего времени обеспечивал лишь некоторую поддержку ООП. Однако, после выхода PHP5 поддержка ООП в PHP стала практически полной.

Стратегию ООП лучше всего описать как смещение приоритетов в процессе программирования от функциональности приложения к структурам данных. Это позволяет программисту моделировать в создаваемых приложениях реальные объекты и ситуации. Технология ООП обладает тремя главными преимуществами:


Теги: , ,

Комментарии отсутствуют

Клонирование объектов

Займемся клонированием. Это не так круто как клонировать Доли, но тоже удобно. Очень помогает вработе с объектами. И с объектами базы данных.

  1. class Person{
  2.  
  3.     public $name;
  4.     public $age;
  5. }
  6.  
  7. $per = new Person;
  8. $per->name = "Maria";
  9. $per->age = "20";

Теги: ,

Комментарии отсутствуют

OOP namespase

В php 5.3 сделан еще один шаг на пути к объектно ориентированному программированию это namespace или попросту пространство имён
Для чего это надо. вот простенький пример

  1. class Test{
  2.     function __constuct(){}
  3. }
  4.  
  5. $test = new Test();

простой класс, и все работает хорошо пока таких классов не больше 10 и все их написали вы сами. Но если команда разработчиков состоит из большего числа народу, то рано или поздно но встанет ситуация когда названия двух классов в разных файлах совпадут. И из этого будет 2 решения, либо постоянно переименовывать классы либо воспользоваться namespace

  1. namespace AuthModule;
  2.  
  3. class Test{
  4.     function __constuct(){}
  5. }

Теги: ,

Комментарии отсутствуют