Koncepcje OOPS w PHP | Programowanie obiektowe w PHP
Opublikowany: 2020-12-14PHP to elastyczna platforma pod względem dostępu do funkcji i zmiennych składowych. OOP w PHP nawiązuje do stylu programowania posiadającego skojarzenie klasy, obiektów i różnych komponentów.
PHP to język programowania po stronie serwera używany do tworzenia stron internetowych. Programowanie obiektowe w PHP pomaga programistom w tworzeniu złożonych aplikacji internetowych wielokrotnego użytku. Programowanie obiektowe to styl programowania, który odnosi się do kojarzenia różnych komponentów i obraca się wokół koncepcji dziedziczenia, polimorfizmu, enkapsulacji i abstrakcji.
OOP jest zaprogramowany w taki sposób, aby użytkownik mógł skupić się na obiekcie podczas tworzenia programu i kodu, ale nie na procedurze. OOP skupia się również na przybliżaniu programowania do prawdziwego życia. W tym artykule będziemy badać niektóre z podstawowych koncepcji OOP w PHP.
Spis treści
Główne koncepcje OOPS w PHP
PHP to obiektowy język programowania, który obsługuje kilka koncepcji. Niektóre z nich to:
Klasa i obiekty — Klasa to typ danych zdefiniowany przez programistę, obejmujący zmienne lokalne i metody lokalne. To także zbiór przedmiotów, które mają podobne właściwości i zachowania. Pojedyncza instancja struktury danych zdefiniowana przez klasę jest obiektem. Klasa jest ogólna, a obiekt specyficzny. Deweloperzy mogą tworzyć instancję obiektu, ale nie klasy, a obiekt jest instancją klasy.
Interfejsy – Interfejs w PHP to opis działań, które mogą wykonywać obiekty. Jest napisany w taki sam sposób, jak klasa jest deklarowana z każdym słowem kluczowym interfejsu. Metody zadeklarowane w interfejsie są publiczne i można je rozszerzać tak samo, jak klasy z tym samym operatorem extend.

Abstrakcja- Abstrakcja to koncepcja przeniesienia punktu ciężkości ze szczegółów programowania i konkretnej implementacji rzeczy na ich typy i dostępność operacji. Abstrakcja sprawia, że programowanie jest łatwe i ogólne dla programisty i przypomina bardziej uogólnianie specyfikacji.
Konstruktor — jest to specjalna funkcja, która jest wywoływana automatycznie za każdym razem, gdy istnieje formacja obiektu z klasy.
Destruktor — jest to specjalna funkcja, która jest wywoływana automatycznie za każdym razem, gdy obiekt zostanie usunięty lub opuści zakres.
Przeciążanie — jest to specjalny rodzaj polimorfizmu, w którym wszystkie lub kilka operatorów ma różne implementacje w zależności od rodzaju argumentu. Te same funkcje mogą zostać przeciążone wieloma implementacjami.
Przeczytaj: Pomysły i tematy projektów PHP
Zasady i koncepcja OOPS w PHP
Główne zasady programowania obiektowego w PHP są następujące:
Hermetyzacja — ta koncepcja podkreśla właściwości powiązania, metody i ukrywa szczegóły implementacji. Głównym celem enkapsulacji jest ograniczenie komplikacji podczas tworzenia oprogramowania, a także uproszczenie korzystania z obiektów klas. Chroni również stan wewnętrzny obiektu i ułatwia jego utrzymanie.
Dziedziczenie — ta koncepcja jest dostosowana do powiązania między klasami i podkreśla związek między klasą podrzędną a klasą nadrzędną. Dziecko korzysta również z metod zdefiniowanych przez rodzica.
Podstawową funkcją dziedziczenia jest możliwość ponownego wykorzystania, co jest niezwykle przydatne, gdy programiści muszą oferować podstawowe funkcje, takie jak aktualizowanie, dodawanie lub usuwanie komponentów danych z bazy danych. Dziedziczenie jest podzielone na dziedziczenie jednopoziomowe i wielopoziomowe.
Polimorfizm — termin ten odnosi się do używania pojedynczej instancji na wiele sposobów implementacji. Jest to koncepcja, która pozwala użytkownikom zdefiniować metodę, zmieniając swoje segmenty lub zmieniając sposób, w jaki jest to zrobione. Polimorfizm kładzie nacisk na utrzymanie aplikacji wraz z prowadzeniem rozszerzalnego przypadku użycia.
Przeczytaj także: Pytania do rozmowy kwalifikacyjnej na temat PHP
Tworzenie obiektów w PHP
Przede wszystkim w PHP tworzone są klasy, w których użytkownicy mogą tworzyć kilka obiektów w tej samej klasie według własnego wyboru. Każdy obiekt jest tworzony za pomocą nowego słowa kluczowego. Po utworzeniu klasy programiści mogą tworzyć dowolną liczbę obiektów dla tej samej klasy.
Wywoływanie funkcji członka
Po utworzeniu obiektu programiści mogą uzyskać dostęp do funkcji metody i zmiennych klasy za pomocą operatora '->'. Jedna funkcja składowa może przetwarzać tylko zmienne składowe powiązanych obiektów. Weźmy przykład, który pokazuje, jak ustawić cenę i tytuł dla dowolnych trzech książek, wywołując funkcje członkowskie:

$physics->setTitle( “Fizyka dla liceum” );
$chemistry->setTitle( “Zaawansowana chemia” );
$maths->setTitle( “Algebra” );
$fizyka->ustalCena( 10 );
$chemia->ustawCena( 15 );
$maths->setPrice( 7 );
Aby uzyskać zestaw wartości, możesz wywołać inne funkcje członkowskie:
$fizyka->getTitle();
$chemia->getTitle();
$maths->getTitle();
$physics->getPrice();
$chemia->getPrice();
$maths->getPrice();
Da to następujący wynik:
Fizyka dla liceum
Zaawansowana Chemia
Algebra
10
15
7
Tworzenie klasy abstrakcyjnej
<?php
klasa abstrakcyjna DBCommonMethods
{
prywatny $host;
prywatny $db;
prywatny $uid;
prywatne hasło $;
funkcja publiczna __construct($host, $db, $uid, $password)
{
$ten->host = $host;
$to->db = $db;
$ten->uid = $uid;
$to->hasło = $hasło;
}
}
?>
Tutaj,
- „Klasa abstrakcyjna” odnosi się do klasy, której nie można użyć bezpośrednio do tworzenia obiektu.
- „$host, $db…” to zmienne klasowe wspólne w różnych implementacjach
Tworzenie interfejsu
Stwórzmy teraz interfejs zawierający standardowe metody do implementacji różnych zmiennych bazy danych:
<?php
interfejs DBInterfejs
{
funkcja publiczna db_connect();
wstaw funkcję publiczną ($dane);
funkcja publiczna read($gdzie);
aktualizacja funkcji publicznej ($gdzie);
funkcja publiczna usuń ($gdzie);
}
?>
Tutaj,
- „Interfejs” to słowo kluczowe do tworzenia interfejsów
- „Funkcja publiczna” to standardowa metoda realizacji
Stwórzmy konkretną klasę, która może rozszerzać klasy i interfejsy DBCommon Methods:
<?php klasa MySQLDriver rozszerza
DBCommonMethods implementuje DBInterface { funkcja publiczna __construct ($ host, $ db, $ uid, $ hasło)
{
parent::__construct($host, $db, $uid, $hasło); }
public function db_connect() { //kod połączenia idzie tutaj }
public function delete($where) { //delete code idzie tutaj }
public function insert($data) { //wstaw kod tutaj }
public function read($where) { //odczytaj kod idzie tutaj }
aktualizacja funkcji publicznej ($where) { //tutaj kod aktualizacji }
} ?>
Nadpisywanie funkcji
Funkcja w klasach potomnych jest nadpisywana w ramach tej samej nazwy, co klasa nadrzędna. W klasie potomnej programista może modyfikować definicję funkcji odziedziczoną z klasy nadrzędnej.
funkcja pobierz cenę() {
echo $to->cena . „<br/>”;
zwróć $to->cena;
}
funkcja getTitle() {
echo $this->title . „<br/>”;
zwróć $to->tytuł;

}
Widoczność
Każda metoda i właściwość w PHP ma swoją widoczność, która jest deklarowana za pomocą słów kluczowych, takich jak private, public i protected, które wyjaśniono poniżej:
- Publiczny — umożliwia każdemu użytkownikowi z zewnątrz dostęp do metody i właściwości.
- Prywatne — nie daje dostępu żadnemu użytkownikowi poza nim samym.
- Protected — pozwala tylko klasom potomnym i sobie na dostęp do metody i właściwości.
Zapisz się na kursy inżynierii oprogramowania z najlepszych światowych uniwersytetów. Zdobywaj programy Executive PG, Advanced Certificate Programs lub Masters Programs, aby przyspieszyć swoją karierę.
Wniosek
W tym artykule wspomniano o podstawowej koncepcji programowania obiektowego w PHP.
Jeśli chcesz dowiedzieć się więcej o tworzeniu oprogramowania z pełnym pakietem, zapoznaj się z programem Executive PG UpGrad i IIIT-B w zakresie tworzenia oprogramowania z pełnym pakietem, który jest przeznaczony dla pracujących profesjonalistów i oferuje ponad 500 godzin rygorystycznych szkoleń, ponad 9 projektów, i zadania, status absolwentów IIIT-B, praktyczne praktyczne projekty zwieńczenia i pomoc w pracy z najlepszymi firmami.
