Как продвинуть бизнес в сети?
Создать сайт!Начало в статье Структура и синтаксис PHP - кратко
Объектно-ориентированный подход к разработке программного обеспечения, который моделирует приложение вокруг объектов реального мира, таких как сотрудники, автомобили, банковские счета и т. д. Класс определяет свойства и методы объекта реального мира. Объект является вхождением класса.
Три основных компонента объектной ориентации:
Три основных принципа ООП:
PHP — это объектно-ориентированный язык сценариев; он поддерживает все вышеуказанные принципы. Вышеуказанные принципы достигаются через;
Теперь, когда у нас есть базовые знания об ООП и о том, как оно поддерживается в PHP, давайте рассмотрим примеры, реализующие вышеуказанные принципы.
Унифицированный язык моделирования UML — это метод, используемый для проектирования и документирования объектно-ориентированных систем.
UML создает ряд документов, но мы рассмотрим диаграмму классов, которая очень важна для объектно-ориентированного программирования на PHP.
Пример диаграммы классов
Ключ диаграммы классов
Ключевое слово class используется для определения класса в PHP. Ниже приведены правила создания класса в PHP.
Допустим, мы хотим создать класс для представления животных.
Начнем с выявления признаков, общих для всех животных.
На диаграмме ниже показана диаграмма для животного
Давайте теперь закодируем наш класс животных
<?phpкласс Животное { частная $ семья; частная еда; публичная функция __construct($family, $food) { $this->family = $family; $this->еда = $еда; } публичная функция get_family() { вернуть $this->family; } публичная функция set_family($family) { $this->family = $family; } публичная функция get_food() { вернуть $this->food; } публичная функция set_food($food) { $this->еда = $еда; } } ?>
ЗДЕСЬ,
Мы будем работать с коровой и львом. И корова, и лев наследуют от класса Animal.
На приведенной ниже диаграмме классов показаны отношения.
Обратите внимание, что корова наследуется от класса животных и также определяет свою собственную переменную и методы.
Давайте теперь закодируем класс Cow
<?php класс Cow расширяет Animal { частный $владелец; публичная функция __construct($family, $food) { parent::__construct($family, $food); } публичная функция set_owner($owner) { $this->владелец = $владелец; } публичная функция get_owner() { вернуть $this->owner; } } ?>
Давайте теперь закодируем класс Lion
<?php класс Lion расширяет Animal { публичная функция __construct($family, $food) { parent::__construct($family, $food); } } ?>
ЗДЕСЬ - «class … extends Animal» заставляет корову и льва использовать методы из класса Animal (Наследование).
Для простоты классы Animal, Cow и Lion должны находиться в одном каталоге.
Давайте теперь создадим приложение, которое использует наши классы.
Пример класса PHP
<?php требуется «Animal.php»; требуется «Cow.php»; требуется 'Lion.php'; $cow = new Cow('Травоядное', 'Трава'); $lion = новый лев('Canirval', 'Мясо'); echo '<b>Объект коровы</b> <br>'; echo 'Корова принадлежит ' . $корова->get_family() . ' семья и ест ' . $корова->get_food() . '<br><br>'; echo '<b>Объект Лев</b> <br>'; echo 'Лев принадлежит ' . $лев->get_family() . ' семья и ест ' . $lion->get_food(); ?>
Давайте теперь просмотрим наше приложение в веб-браузере.
Фантастическое право! Давайте теперь посмотрим на третий принцип ООП, полиморфизм.
Допустим, мы хотим разработать приложение, которое подключается к различным механизмам баз данных, таким как MySQL и SQL Server, но использует один и тот же единый интерфейс.
Мы можем создать интерфейс, определяющий стандартные методы, и абстрактный класс, реализующий общие методы.
Диаграмма классов ниже иллюстрирует взаимосвязь между нашим абстрактным классом, интерфейсом и классами реализации.
<?php абстрактный класс DBCommonMethods { частный $хост; частный $ дб; частный $uid; приватный $пароль; публичная функция __construct($host, $db, $uid, $password) { $this->host = $host; $this->дб = $дб; $this->uid = $uid; $this->пароль = $пароль; } } ?>
ЗДЕСЬ,
Давайте теперь создадим интерфейс, содержащий стандартные методы, которые будут реализованы по-разному в зависимости от ядра базы данных.
<?php интерфейс DBInterface { общедоступная функция db_connect(); вставка публичной функции ($ данные); общедоступная функция чтения ($ где); публичная функция update($where); публичная функция delete($where); } ?>
ЗДЕСЬ,
Давайте теперь создадим конкретные классы, которые будут расширять класс DBCommonMethods и расширять интерфейс DBInterface. MySQLDriver.php
<?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) { // здесь находится код обновления } } ?>
MSSQLServerDriver.php
<?php класс MSSQLServerDriver расширяется 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) { // здесь находится код обновления } } ?>
ЗДЕСЬ,
Использование приведенного выше кода Код, использующий приведенный выше класс, будет выглядеть следующим образом.
<?php $db = новый MySQLDriver($host,$db,$uid,$password); ?>
Или
<?php $db = новый MSSQLServerDriver ($host,$db,$uid,$password); ?>
Остальная часть кода будет одинаковой для обоих драйверов, например;
<?php $db->db_connect(); $db->вставить($данные); ?>
Начало в статье Структура и синтаксис PHP - кратко
Как продвинуть бизнес в сети?
Создать сайт!Копирование материала возможно только при активной прямой ссылке (открытой для индексации) на источник.
Создание сайтов. Разработка сайтов. Веб дизайн. Заказать сайт, интернет-магазин Беларусь Минск Витебск Гомель Могилёв Горки другие города и страны.
Контакты