WordPress i programowanie obiektowe – przegląd

Opublikowany: 2021-04-20

Jeśli jesteś programistą WordPress, prawdopodobnie piszesz swój kod w sposób proceduralny. Ustawiasz kilka prostych uporządkowanych kroków i postępuj zgodnie z nimi, aby osiągnąć pożądany wynik i rozwiązać problem. Prostym przykładem jest pętla WordPress, taka jak pokazana poniżej:

 <?php if ( have_posts() ) { while ( have_posts() ) { the_post(); // // Post Content here // } // end while } // end if ?>

W pętli najpierw sprawdzasz, czy masz wpisy, które odpowiadają uruchomionemu zapytaniu, a jeśli tak, zaczynasz przeglądać wpisy za pomocą pętli while. To samo dotyczy każdej funkcji niestandardowej, którą wstawisz do pliku functions.php .

W tym artykule zamierzamy odejść od programowania proceduralnego i przyjrzeć się stylowi programowania zwanemu programowaniem obiektowym (OOP). Zbadamy, czym różni się to od tego, czego używałeś do tej pory jako styl programowania i przyjrzymy się niektórym z jego zalet. Ale co najważniejsze, wyjaśnimy, jak koncepcje zorientowane obiektowo działają w środowisku WordPress i relacje między nimi.

To, co chcielibyśmy ustalić, zanim przejdziemy dalej, to to, że ważne jest, abyś poznał rolę programowania obiektowego i kiedy jest odpowiedni do użycia. Nauka budowania wtyczki lub motywu obiektowego może być odpowiednia dla twojego projektu, ale ważne jest, aby zrozumieć, kiedy tak jest. Mam nadzieję, że ten artykuł pomoże ci zrozumieć, kiedy i dlaczego dany projekt może być odpowiedni do napisania w kodzie zorientowanym obiektowo.

Problem

Sam WordPress już zmusił Cię do myślenia proceduralnego. I chociaż WordPress używa obiektów PHP przez cały czas, nie oznacza to, że sam WordPress jest zorientowany obiektowo. Jest to powszechna błędna interpretacja tego, czym jest OOP i powód, dla którego wiele osób uważa, że ​​WordPress jest zorientowany obiektowo, chociaż tak nie jest.

Ważne jest, aby wyjaśnić, że nie mówimy, że należy powstrzymać się od używania programowania proceduralnego, ale to prawda, że ​​ten styl kodowania ma swoje ograniczenia. Na przykład podczas dostosowywania motywu lub wtyczki prawdopodobnie uzyskasz żądany wynik HTML, pisząc kod w sposób proceduralny. Ale co ze skalowalnością i przyszłym utrzymaniem?

Podczas tworzenia niestandardowej wtyczki bardzo ważne jest, abyś zrobił bilans i ocenił, jak będzie skalowalny. Na przykład prawdopodobnie będziesz chciał móc rozwijać swoją wtyczkę, dodając kolejne funkcje w miarę dojrzewania wtyczki. To w tym momencie zaczniesz mieć trudności z organizowaniem kodu podczas kodowania proceduralnego.

Ale nawet jeśli nie kodujesz wtyczek, przy programowaniu proceduralnym zawsze podejmujesz ryzyko osiągnięcia punktu, w którym nie jesteś już pewien, jak wszystko do siebie pasuje. W rezultacie każda drobna zmiana może mieć niezamierzone konsekwencje.

Programowanie obiektowe służy do rozwiązywania bardziej skomplikowanych problemów. Może mieć ten sam cel co programowanie proceduralne, ale w wielu przypadkach oferuje lepszy sposób pracy. Pozwala tworzyć odważne rozwiązania problemu, które są wielokrotnego użytku, uporządkowane i bezpieczne.

Jak programowanie obiektowe rozwiązuje problemy

Programowanie obiektowe ma dwie ważne koncepcje: klasy i obiekty .

Klasy są zasadniczo szablonem używanym do tworzenia obiektów. Każdy obiekt ma swoje własne metody i zestaw właściwości, a wartość tych właściwości może się różnić.

Dlatego przed przejściem do przodu ważne jest, aby upewnić się, że rozumiemy, czym jest obiekt. Rozłóżmy proste zdanie jako przykład:

„Jem zielone jabłka”.

Apple to Object, zielony to kolor Object (właściwość Object), a czasownik „jeść” to metoda (funkcja).

Klasa definiuje właściwości i zachowanie wszystkich obiektów, które z niej korzystają. Rozwiązywanie problemów z obiektami obiektowymi osiąga się poprzez prawidłowe połączenie tych „cegiełek” programistycznych.

Przed nurkowaniem, ważnym pierwszym krokiem jest poświęcenie trochę czasu na zaprojektowanie proponowanego rozwiązania. W skrócie, to, co musisz zrobić, to:

  1. Zdefiniuj problem i co wtyczka powinna zrobić, aby go rozwiązać
  2. Opisz klasy i ich relacje, a także interakcje między obiektami
  3. Zamień wszystko w kod
  4. Przejrzyj i przetestuj projekt

Będąc na tym etapie, pamiętaj, że będziesz miał szczęście, jeśli uda ci się to perfekcyjnie za pierwszym razem! Będziesz musiał zacząć od nowa, aż uzyskasz właściwą koncepcję, która rozwiąże problem. Potraktuj to jako część procesu twórczego, który zaoferuje Ci zestaw narzędzi, których możesz później używać jako zespół bez konfliktów.

W następnym artykule związanym z OOP zademonstrujemy prosty przykład, który ożywi całą powyższą teorię.

Cechy programowania obiektowego

Zanim przejdziemy do cech programowania obiektowego, zobaczmy, czy możemy dalej wyjaśnić, jak to działa, za pomocą prostej metafory.

Powiedzmy, że mamy bojler, którego używamy do zagotowania wody. Używając maszyny, robimy to w określony sposób, jedyny na jaki pozwala nam producent. Nie możemy zmienić sposobu działania kotła po naciśnięciu przycisku „Włącz” i, szczerze mówiąc, nie chcemy ani nie musimy. To daje nam dwie bardzo ważne zalety.

Przede wszystkim ograniczona funkcjonalność (np. gotowanie wody) oznacza, że ​​system jest zarówno solidniejszy, jak i bezpieczniejszy. Ograniczony zestaw funkcji i udostępnienie tylko przycisku „Włącz/Wyłącz” oznacza, że ​​jako użytkownik nie możemy zbliżyć się do mechanizmu kotła. Domyślnie oznacza to, że jest mniej błędów, a system jest bardziej niezawodny jako całość. Prostota działania sprawia, że ​​jest on znacznie bardziej przyjazny dla użytkownika, ponieważ prawie każdy może z niego korzystać.

Hostuj swoją stronę internetową z Pressidium

60- DNIOWA GWARANCJA ZWROTU PIENIĘDZY

ZOBACZ NASZE PLANY

Mając to na uwadze, zobaczmy, jak odnosi się to do programowania obiektowego. Teoretycznie OOP ma trzy cenne cechy: enkapsulacja, dziedziczenie i polimorfizm .

Enkapsulacja grupuje dane i zachowanie w jednej jednostce. Wewnątrz klasy możesz zdefiniować, w jaki sposób będzie ona używana (przycisk kotła) i kontrolować widoczność za pomocą etykiet Public, Protected lub Private w klasach. To również sprawia, że ​​jest to bardzo bezpieczny system, ponieważ daje możliwość kontrolowania, kto ma dostęp. Oznacza to również, że jest łatwiejszy w utrzymaniu i użytkowaniu.

Dziedziczenie ma pomóc w ponownym wykorzystaniu kodu między klasami. Jednym z takich przykładów jest sytuacja, gdy klasa rozszerza inną klasę. Mogłeś użyć tego podczas rozszerzania klasy Walker, aby zmienić wyjście HTML danych podobnych do drzewa, takich jak menu lub struktura komentarzy. Zrozumienie relacji między klasami umożliwi Ci tworzenie kodu obiektowego wielokrotnego użytku.

Wreszcie polimorfizm jest tym, co sprawia, że ​​wszystkie te relacje współpracują ze sobą, co określa, co łączy Twoje Klasy, jak ponownie używać tych wspólnych elementów i czy są one powiązane z czymkolwiek innym.

Wniosek

Bez konkretnych przykładów jest prawdopodobne, że wszystkie powyższe są nadal trochę mylące. Niemniej jednak ważne jest, aby wyjaśnić teorię programowania zorientowanego obiektowo, a w przyszłych artykułach przedstawimy kilka przydatnych przykładów, abyś mógł zobaczyć, jak korzystać z tej ekscytującej metody programowania w prawdziwym świecie.

Naszym celem jest, abyś po przeczytaniu naszej serii artykułów na temat programowania obiektowego miał pewność, że będziesz używać tej metody programowania w wielu różnych sytuacjach. W międzyczasie możesz kontynuować czytanie o OOP na Wikipedii.

Kliknij tutaj, aby przeczytać część 2 w naszej serii programowania zorientowanego na obiekt