WEB start

Компьютеры. Интернет. Профессиональное обучение. 055-966-10-17

hit 
counter

PHP программирование

Наши преимущества

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


Регистрация на сайте

PHP ООП

PHP объектно-ориентированое рограммирование

Основные понятия

Классы

Класс - это шаблон для объектов. Класс объединяет данные и функции, которые работают с данными, в одной структуре. Это блок кода, который описывает:

  • типы данных, которые будут храниться в объектах, созданных из класса,
  • функции, которые будут содержать эти объекты.

Класс может содержать собственные константы, переменные (называемые свойствами) и функции (называемые методами).

Когда создаётся объектно-ориентированное приложение, обычно создаете один или несколько классов, представляющих различные типы объектов в приложении. Например, если вы пишете приложение для форума, вы можете создавать классы под названием «Форум», «Тема», «Почта» и «Участник».

Объекты

Объект - это особый тип переменной, созданный из класса. Он содержит фактические данные, и можно вызвать функции объекта для обработки этих данных. Можно создать столько объектов, сколько необходимо, из одного класса. Каждый объект функционирует независимо от других, даже если все они происходят из одного класса.

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

Объект же подобен реальному автомобилю, созданному из чертежа. Он имеет реальные свойства (например: красный цвет), и реальные методы использования (например: «ускорить» и «тормозить»).

Объект реальная реализация класса (class instance).

Свойства

Данные, которые содержатся в объекте, хранятся в специальных переменных, известных как свойства. Свойства объекта тесно привязаны к объекту. Хотя все объекты, созданные из данного класса, имеют одинаковые свойства, свойства одного объекта могут иметь значения, отличные от значений свойств другого объекта.


Методы

Функции, которые описаны в классе и используются в объекте, называются методами. Во многом они похожи на обычные функции - можно передавать им значения, они могут содержать локальные переменные, они могут возвращать значения.

Однако методы объекта обычно работают в основном со свойствами объекта. Например, метод login () для регистрации участника на форумах может установить для свойства loggedIn элемента значение true.

Основы работы с классами и объектами в PHP

Описание класса

Описание класса начинается с ключевого слова class, затем следует имя класса, и блок операторов, заключённый в фигурные скобки. Он включает в себе определение свойств и методов этого класса.

Пример:

// Defining PHP Classes class Books { /* Member variables */ var $price; var $title; /* Member functions */ function setPrice($par){ $this->price = $par; } function getPrice(){ echo $this->price ."
"; } function setTitle($par){ $this->title = $par; } function getTitle(){ echo $this->title ."
"; } } // Creating Objects in PHP $physics = new Books; $maths = new Books; $chemistry = new Books;

Псевдопеременная $this используется для ссылки на сам класс.

Запись $this->price - это обращение к переменной $price, описанной в этом классе.


Создание объекта

Пример создания трёх разных объектов из этого класса.

$physics = new Books; $maths = new Books; $chemistry = new Books;

Вызов объекта

Задание свойства price объекта $maths

$maths->price = 44;

Такой же эффект будет от вызова метода setPrice объекта $maths

$maths->setPrice( 44 );

Вызов метода setTitle объекта $physics

$physics->setTitle( "Physics for High School" );


Конструкторы и деструкторы классов

PHP позволяет использовать специальные типы методов: конструктор класса и деструктор класса.

Конструктор класса (метод __construct()) выполняется при инициализации объекта. Этот метод может выделить объекту некоторые ресурсы.

Деструктор класса (метод __destruct() ) используется для освобождения выделенных ресурсов.

Например:

<?php class Session { protected $data = array(); public function __construct() { // загрузка данных из базы данных } // get and set functions public function __destruct() { // запись данных в базу данных } };


Область видимости

Для свойств и методов класса PHP позволяет определять область видимости (public, protected или private).

Например:

private $private = 'Private';

или

public function MyPublic() { }

public

Это область видимости, которая не имеет ограничений. То есть: свойства или методы public видны и могут использоваться в любом месте программного кода. Как внутри так и вне класса.

Этот уровень видимости присваивается по-умочанию, если не указан никакой другой.

protected

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

private

Эти свойства и методы доступны исключительно в этом классе.

Наследование

Наследование классов - это возможность создавать новые (дочерние) классы на основании существующих. Дочерний класс при этом получает все свойства и методы родителя.

Дочерний класс может также описать новые свойства и методы в дополнение к полученнм от родителя.

Пример:

<?php class Foo { public function printItem($string) { echo 'Foo: ' . $string . PHP_EOL; } public function printPHP() { echo 'PHP is great.' . PHP_EOL; } } class Bar extends Foo { public function printItem($string) { echo 'Bar: ' . $string . PHP_EOL; } } $foo = new Foo(); $bar = new Bar(); $foo->printItem('baz'); // Output: 'Foo: baz' $foo->printPHP(); // Output: 'PHP is great' $bar->printItem('baz'); // Output: 'Bar: baz' $bar->printPHP(); // Output: 'PHP is great' ?>