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

В тази статия ще научите основните основните концепции на обектно-ориентираното програмиране. А именно:

  • Какво е обектно-ориентираното програмиране
  • Като обектно-ориентираното програмиране може да ви помогне по-добре напишете PHP скриптове
  • Някои основни понятия, включително класове, обекти, методи и свойства
  • Как да започнете да пишете обектно-ориентиран PHP код.

Готови ли сте да изследват света на PHP сайтове? Нека да започнем!

Какво е обектно-ориентираното програмиране?

Ако някога сте създали и използват свои собствени функции в PHP, че използвате програмен стил, известен като процедурно програмиране.

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

Обектно-ориентираното програмиране, обектно-ориентиран или съчетава структурата и функциите на данни в един уред, който се нарича обект.

Защо се използва обектно-ориентирано програмиране?

Процедурно и обектно-ориентираното програмиране два различни начина да направите същото. Никой от стилове за програмиране не може да се нарече по-добра от друга - това е личен въпрос - и вие сте свободни да се смесват и мач процедурни и обектно-ориентираното програмиране в един PHP скрипт.

Все пак, има някои предимства, които могат да Ви предложат ООП като програмист:

  • Повторната употреба: Целта е логическа обект, който има набор от свойства и методи и може да взаимодейства с други обекти. Обектът може да бъде напълно независима, или може да зависи от други обекти. Целта обикновено е създаден за решаване на конкретни проблеми, повдигнати. Ето защо, когато други разработчици са изправени пред подобни проблеми, те могат да включете своя клас за вашия проект и да го използвате, без да се страхуват, че тя ще се прекъсне процеса на тяхното развитие. Така се избягва DRY, което означава не се повтаряй (еднократен). В процедурно програмиране, или модулна, повторна употреба е възможно само в обобщен вид.
  • Рефакториране: Когато трябва да в проект за използване рефакториране, обектно-ориентиран ви осигури максимална полза, тъй като всички обекти са малки и съдържат елементи на неговите свойства и методи, като част от себе си. Чрез тази употреба е относително лесно да Преструктуриране на.
  • Разширение: Ако трябва да се разшири функционалността на вашия проект, можете да постигнете по-добри резултати с помощта на ООП. Една от основните функции на ООП е разтегливост. Можете да използвате рефакториране съоръжения, които ще добавят функционалност. Работим по въпроса, все пак можете да запазите стария обект е съвместим - така че може да работи добре със стария код. Или можете да разширите съоръжението и да се създаде един напълно нов, който ще съдържа всички свойства и методи на родителския обект, от който новата, а след това се добавят нови функции. Това се нарича "наследство" и това е много важна характеристика на ООП.
  • Поддръжка: обектно-ориентиран код е по-лесно да се поддържа, защото тя следва много твърди конвенции на писане код и е написана под формата на samopoyasnyayuscheysya. Например, когато един разработчик добавя, рециклира код или да го отстраняване на грешки, тя може лесно да се намери на вътрешната структура на кода и да запази кода от време на време. Освен това, когато си заобиколен от екип на обектно-ориентирани разработчици може да бъде най-доброто решение, тъй като можете да разпространявате си код между членовете на екипа, след почивката го на малки парченца. Тези малки парчета могат да бъдат проектирани като отделни единици, като по този начин агенти могат да работят почти независимо един от друг. В крайна сметка обедини всички парчета в едно приложение няма да е лесно.
  • Ефективност: Идеята за освобождение на Палестина е всъщност за цел да повиши ефективността и да се улесни процеса на развитие. Няколко дизайн модели, които са предназначени за създаване на по-ефективни и по-добър код. Освен това в обектно-ориентиран, може да се отрази на вашите решения в по-удобна форма от процедурен подход. Както се прекъсне проблем си на по-малки проблеми и намиране на решение за всеки един от тях поотделно, че големият проблем е решен от само себе си.

Някои основни понятия

Преди да преминем към писането обектно-ориентиран код в PHP, важно е да се разбере четири основни понятия от ООП: класове, обекти, свойства и методи.

Класът е основата за обектите. Тази част от код, който определя:

  • типове данни, които ще се съхраняват обект
  • функции, които ще съдържат обекта.

Целта е специален вид на променливи, която се създава от клас и който съдържа информация (свойства) и функции (методи) за обработка. Обектите се наричат ​​- случаи на класа. Можете да създавате произволен брой независими обекти от същия клас, дори ако те са в непосредствена близост.

Имоти - тя е една и съща променлива в рамките на обекта. свойства на обекти са тясно свързани с темата. Въпреки, че всички обекти, създадени от този клас имат същите свойства като свойствата на един обект може да имат различни стойности от свойствата на друг обект.

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

Как да създадете класове в PHP

Сега, че знаете какво класове, обекти, свойства и методи, че е време да се захванем за работа и създаване на няколко класове и обекти, използващи PHP код.

Първо, нека да разгледаме създаването на клас. Основния синтаксис за създаване на класа в PHP, както следва:

Като пример се създаде клас държави

Това е доста проста! Разбира се, в този клас не върши нищо, докато ще бъдат добавени свойствата и методите на класа. Въпреки това, този код създава валидно и използваема клас в PHP. Един добър програмиране практика е създаването на класове в отделни файлове със същото име като името на класа. Например, можете да спестите този код във файл, наречен Member.php

Как да се създаде обект в PHP

Обектите, създадени от един клас с помощта на нова ключова дума:

Този код създава обект въз основа на име на класа на клас. За да получите достъп до новосъздадения че е необходимо да се поддържа обекта в променливата. Например, нека създадем нов обект държава и да го съхранява в променлива член на $:

Можем също така да се създаде друг обект от същия клас:

Дори когато сме ги създали от същия клас държавите два обекта, страните $ и $ member2 те са независими една от друга.

Добавянето на имоти в класа

Сега, когато знаем как да създадете класове и обекти, нека да разгледаме добавяне свойства. Има 3 вида на свойства, които могат да бъдат добавени към класа:

  • Публично - ви дава достъп до имотите от всяко място
  • Личен - позволява достъп до имоти в този клас.
  • Защитена - позволява достъп до свойствата на само текущия клас и клас, който наследява от сегашния клас

За да добавите имот към класа, трябва да пиша думи, обществени, частни или защитени, а след това името на имот:

Нека добавим към нашия клас държавите обществено имущество $ потребителско име. който ще съдържа името на потребителя:

Имайте предвид, че ние се стойността на имота от $ потребителско име - празен низ. Това означава, че когато ние се създаде нов обект държава, $ потребителско име имот в началния етап ще бъде настроен на тази стойност.

Достъп обект свойства

За достъп до свойство на обект с помощта на -> оператор. а именно:

Нека се опитаме да се създаде нов клас държава, добави $ потребителско име собственост, а след това се създаде инстанция на класа и да се опита да установи и да се прецени стойността на $ потребителско име:

Ако пуснете горния код, а след това ще се покаже стойността на $ потребителско име = "Fred". Както можете да видите, можете да получите достъп до свойствата на даден обект, както и до обичайните променливи - можете да получите своите ценности, както и да ги възлагат нови стойности.

Добавянето методи на клас

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

Както и с имоти, публичните методи може да се нарече от всяко място, частни методи може да се нарече само чрез други методи в класа, и защитени методи могат да бъдат наречени използване на съществуващите методи на класа и клас, който наследява методите на текущия клас

Нека се опитаме да добавите някои методи в нашия клас държава. Ние ще добавим:

Имайте предвид, че ние използваме нова ключова дума в нашите методи: $ това. В контекста на метода на обекта, специалната променлива $ това се отнася до самия обект. С променливата $ този метод може да получите достъп до някоя от другите свойства и методи в обекта.

Например, вход () метод достъп свойство на обект $ loggedIn използва следната позиция: $ това-> loggedIn

Тъй като ние си поставихме за имота $ LoggedIn дума лично. достъпът до него може да се получи само чрез методи: вход (), изход (), isLoggedIn ().

При използване на методи

За повикване на метод на обекта, който искате да използвате -> оператор:

Тя работи точно като нормална функция на повикване. Можете да премине аргументи в скоби (при условие, че този метод може да отнеме аргументи) и викането на метода може да връща стойност, която можете да използвате.

Сега, когато сме добавили някои методи на нашата държава клас, нека се опитаме да ги използваме:

Този код показва следните стойности:

Фред се излезли
Фред е влязъл в
Фред се излезли

Ето как този скрипт:

1. След определяне на държава-класа, ние създаваме нов обект държава и да го съхранява в променлива член на $. Също така, ние си поставихме за новата стойност от $ потребителското име на имот - Фред

3. След това, което наричаме вход () обект член на $. Този метод определя имот $ loggedIn $ член обект на TRUE

4. Сега, когато ние наричаме isLoggedIn () метод отново, той се връща истина, така че екранът с него: "Фред е влязъл в".

5. След това, което наричаме метод за излизане () $ член обекта, с който се определя имот $ loggedIn $ член обект на FALSE

6. И накрая, ние наричаме isLoggedIn (метод) за трети път. Този път той се връща FALSE, защото имотът е $ LoggedIn е ЛЪЖА, чрез излизане (). Тя показва: «Фред се излезли»

В тази статия ще обхванат основите на обектно-ориентираното програмиране в PHP. Ние разгледа следните теми:

1. Какво е обектно-ориентираното програмиране

2. Какви класове, обекти, свойства и методи

3. Как се създават класове и обекти в PHP

4. Как да създавате и използвате имоти в PHP

5. Какъв е обхватът на свойства и методи в ООП

6. Как да създавате и използвате методи в PH

Нещо, което е посочено в тази статия е само минимумът, необходим за по-нататъшно проучване на ООП в PHP.

Оценете тази статия:

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

Интересува се от развиващите се сайтове за PHP, използвайки модела MVC?

Препоръчвам ви да се запознаете с "PHP и CodeIgniter от нулата: създаване на динамични уеб-сайтове" на курса.

По време на обучението ще получите цялата необходима знания и умения за създаване на мощни PHP-сайтове без да се налага да се разбере всички тънкости на езика!