Говорят, что создание сайта - очень длительный и трудоемкий процесс. Мы скажем - НЕТ! Ведь с новыми технологиями, такими как HTML5, CSS3, PHP и MySql можно быстро и легко научиться создавать сайты любой сложности.
Два сумасшедших веб-мастера покажут где что лежит и как этим пользоваться.
Авторизация
Новый
Забыл
Пожалуйста, заполните поля выше. Это нужно сделать обязательно, иначе ничего не получится.
PHP Статейки /

Объектно-ориентированный подход в PHP 5 для начинающих. Часть 1-ая.

  • Воскресенье, 10 октября 2011, 15:50 |
  • Автор: fiamma |
  • Просмотров: 4010 |
  • Комментарии: 5 |
  • В закладки:
Объектно-ориентированный подход в PHP 5 для начинающих. Часть 1-ая. Для многих PHP программистов объектно-ориентированный программирование является пугающей концепцией. Пугающей из-за своего синтаксиса и некоторых нововведений. В данной статье вы узнаете о концепции ООП, ее стиле кодирования и о много другом. Приступим?








Понятие объектно-ориентированного программирования

Объектно-ориентированное программирование (ООП) - это стиль кодирования, который позволяет разработчику создавать скрипты или полноценные приложения по принципу “don’t repeat yourself” (DRY) ("Не повторяя самого себя" - [Такой принцип называется "сухим"]).

Одним из достоинств "Сухого" принципа кодирования является то, что приложения, написанные по данному принципу, очень просты в обслуживании, т.к. для изменения различных частей приложения, изменения проводятся всего-лишь в одном месте. Одним из самых больших кошмаров для разработчиков является то момент, когда один и тот же код употребляется несколько раз.

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

Структурирования классов

Синтаксис для создания класса довольно прост: необходимо объявить класс, используя ключевое слово class, за которым следует название класса и множество фигурных скобок ({}):
<?php  

   class MyClass  
   {  
       // Методы класса  
   }  
    
?>  

После создания класса, новый класс может быть создан и сохранен в переменной с помощью ключевого слова new:
$ОЬ = new MyClass; 


Чтобы увидеть содержимое класса, используется функция var_dump ():
var_dump ($ОЬ); 

Давайте сейчас попробуем соеденить весь вышеперечисленный код и поместить его в файл test.php на вашем локальном сервере.
<?php  

   class MyClass  
   {  
       // Методы класса
   }  
      
   $obj = new MyClass;  
    
   var_dump($obj);  
    
?>  


Загрузите страницу в браузере по адресу http://localhost/test.php На дисплее должно высветиться это:
object(MyClass)#1 (0) { }


Можно сказать, что вы создали самое простое приложения использую ООП

Определения свойств класса

Для добавления свойств класса, нужно переделать наш класс примерно так:
<?php  

class MyClass  
{  
     public $prop1 = "I'm a class property!";  
}  
  
$obj = new MyClass;  
  
var_dump($obj);  
  
?>

Свойства класса - это специфические переменные, которые связаны с объектом класса и могут быть доступны исключительно через класс.
public - это атрибут видимости данной переменной, о которых мы поговорим немного позднее. После него следует переменная, которой присваивается значение "I'm a class property!";

Для вывода данного свойства в окно браузера, необходимо написать:
echo $obj->prop1; 


Поскольку может существовать несколько объектов класса, определить к какому классу какое свойство относится можно с помощью "->".

Давайте изменим test.php заменив предыдущий код на этот:
<?php  
  
  class MyClass  
  {  
       public $prop1 = "I'm a class property!";  
  }  
    
  $obj = new MyClass;  
    
  echo $obj->prop1; // Output the property  
    
?>


Теперь в браузере мы увидим:
  I'm a class property!  


Определения методов класса

Методы - это специфические функции класса, которые будут выполнять некоторые действия в классе.

Например, для создания методов, которые будут устанавливать и получать значения свойств класса $Prop1, добавьте следующие строки в ваш код:
<?php  
      
    class MyClass  
    {  
        public $prop1 = "I'm a class property!";  
      
        public function setProperty($newval)  
        {  
            $this->prop1 = $newval;  
       }  
    
       public function getProperty()  
       {  
           return $this->prop1 . "<br />";  
      }  
  }  
    
  $obj = new MyClass;  
    
  echo $obj->prop1;  
    
?>  


Примечание:
Для вызова методов класса не забывайте использовать знак доллара.
Пример $ob->set();


Теперь давайте попробуем воспользоваться написанным выше классом путем модификации файла test.php :
<?php  
    
   class MyClass  
   {  
       public $prop1 = "I'm a class property!";  
    
       public function setProperty($newval)  
       {  
           $this->prop1 = $newval;  
       }  
    
       public function getProperty()  
       {  
           return $this->prop1 . "<br />";  
       }  
   }  
    
   $obj = new MyClass;  
    
   echo $obj->getProperty(); // Get the property value  
    
   $obj->setProperty("I'm a new property value!"); // Set a new one  
  
  echo $obj->getProperty(); // Read it out again to show the change  
    
?>  


В браузере вы увидите:
I'm a class property! 
I'm a new property value!


“Настоящую силу ООП можно увидеть при создании нескольких объектов одного и того же класса.”


<?php  
    
  class MyClass  
  {  
      public $prop1 = "I'm a class property!";  
    
      public function setProperty($newval)  
      {  
          $this->prop1 = $newval;  
      }  
    
      public function getProperty()  
      {  
          return $this->prop1 . "<br />";  
      }  
  }  
    
  // Create two objects  
  $obj = new MyClass;  
  $obj2 = new MyClass;  
    
  // Get the value of $prop1 from both objects  
  echo $obj->getProperty();  
  echo $obj2->getProperty();  
    
  // Set new values for both objects  
  $obj->setProperty("I'm a new property value!");  
  $obj2->setProperty("I belong to the second instance!");  
    
  // Output both objects' $prop1 value  
  echo $obj->getProperty();  
  echo $obj2->getProperty();  
    
?>  


После заметы содержимого файла test.php мы увидим:
I'm a class property! 
I'm a class property!  
I'm a new property value!  
I belong to the second instance!


На этом я заканчиваю данную статью. В сл. статье мы рассмотрим "Конструкторы, Деструкторы и несколько других, не менее интересных функций."

Продолжение...

Новый Год не за горами - пора заранее позаботиться о празднике и сделать заказ Дед Мороза.
Добавить комментарий