Концепции ООП в PHP | Объектно-ориентированное программирование на PHP.

Опубликовано: 2020-12-14

PHP — это гибкая платформа с точки зрения доступа к функциям-членам и переменным. ООП в PHP относится к стилю программирования, связанному с классом, объектами и различными компонентами.

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

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

Оглавление

Основные концепции ООП в PHP

PHP — это объектно-ориентированный язык программирования, который поддерживает несколько концепций. Вот некоторые из них:

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

Интерфейсы . Интерфейс в PHP — это описание действий, которые могут выполнять объекты. Он написан так же, как класс объявляется с каждым ключевым словом интерфейса. Методы, объявленные в интерфейсе, являются общедоступными, и их можно расширять так же, как и классы, с помощью одного и того же оператора расширения.

Абстракция . Абстракция — это концепция смещения акцента с деталей программирования и конкретной реализации вещей на их типы и доступность операций. Абстракция делает программирование простым и доступным для разработчика, и это больше похоже на обобщение спецификации.

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

Деструктор — это специальная функция, которая вызывается автоматически всякий раз, когда объект удаляется или покидает область видимости.

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

Читайте: Идеи и темы проекта PHP

Принципы и концепция ООП в PHP

Основные принципы объектно-ориентированного программирования в PHP следующие:

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

Наследование . Эта концепция связана с ассоциацией между классами и подчеркивает отношения между дочерним классом и родительским классом. Кроме того, ребенок использует методы, определенные родителем.

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

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

Читайте также: Вопросы на собеседовании по PHP

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

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

Вызов функции-члена

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

$physics->setTitle("Физика для старшей школы");

$chemistry->setTitle("Продвинутая химия");

$maths->setTitle("Алгебра");

$физика->setPrice( 10 );

$химия->setPrice(15);

$математика->setPrice(7);

Чтобы получить набор значений, вы можете вызвать другие функции-члены:

$физика->getTitle();

$химия->getTitle();

$математика->getTitle();

$физика->получить цену();

$химия->получить цену();

$математика->получить цену();

Это даст следующий результат:

Физика для старшей школы

Продвинутая химия

Алгебра

10

15

7

Создание абстрактного класса

<?php

абстрактный класс DBCommonMethods

{

частный $хост;

частный $ дб;

частный $uid;

приватный $пароль;

публичная функция __construct($host, $db, $uid, $password)

{

$this->host = $host;

$this->дб = $дб;

$this->uid = $uid;

$this->пароль = $пароль;

}

}

?>

Здесь,

  • «Абстрактный класс» относится к классу, который нельзя использовать непосредственно для создания объекта.
  • «$host,$db…» — это переменные класса, общие для различных реализаций.

Создание интерфейса

Давайте теперь создадим интерфейс, содержащий стандартные методы для реализации различных переменных базы данных:

<?php

интерфейс DBInterface

{

общедоступная функция db_connect();

вставка публичной функции ($ данные);

общедоступная функция чтения ($ где);

публичная функция update($where);

публичная функция delete($where);

}

?>

Здесь,

  • «Интерфейс» — ключевое слово для создания интерфейсов
  • «Общественная функция» — это стандартный метод реализации

Давайте создадим конкретный класс, который может расширять классы и интерфейсы методов DBCommon:

<?php класс MySQLDriver расширяется

DBCommonMethods реализует DBInterface { public function __construct($host, $db, $uid, $password)

{

parent::__construct($host, $db, $uid, $password); }

public function db_connect() { // здесь находится код подключения }

public function delete($where) { // здесь находится код удаления }

public function insert($data) { // здесь находится код вставки }

public function read($where) { //здесь идет код чтения }

public function update($where) { // здесь находится код обновления }

} ?>

Переопределение функции

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

функция получить цену () {

эхо $this->цена. «<br/>»;

вернуть $this->price;

}

функция getTitle () {

эхо $это->заголовок. «<br/>»;

вернуть $this->title;

}

Видимость

Каждый метод и свойство в PHP имеет свою видимость, которая объявляется ключевыми словами, такими как private, public и protected, которые объясняются ниже:

  • Публичный — позволяет любому пользователю извне получить доступ к методу и свойству.
  • Частный — не дает доступа никому, кроме себя.
  • Защищенный. Он позволяет только дочерним классам и самому себе получать доступ к методу и свойству.

Запишитесь на курсы по разработке программного обеспечения в лучших университетах мира. Участвуйте в программах Executive PG, Advanced Certificate Programs или Master Programs, чтобы ускорить свою карьеру.

Заключение

В этой статье упоминается основная концепция объектно-ориентированного программирования на PHP.

Если вам интересно узнать больше о разработке программного обеспечения с полным стеком, ознакомьтесь с программой Executive PG upGrad и IIIT-B в разработке программного обеспечения с полным стеком, которая предназначена для работающих профессионалов и предлагает более 500 часов тщательного обучения, более 9 проектов, и задания, статус выпускника IIIT-B, практические практические проекты и помощь в трудоустройстве в ведущих фирмах.

Станьте разработчиком полного стека

Подать заявку на получение степени магистра в области разработки программного обеспечения