✅ Nowości, motywy, wtyczki WEB i WordPress. Tutaj dzielimy się wskazówkami i najlepszymi rozwiązaniami dla stron internetowych.

Tworzenie systemu CRUD w WordPressie – wpDataTables Tables Plugin

27

Ten artykuł o tworzeniu systemu CRUD w WordPressie został opublikowany w 2014 roku. Zauważyliśmy jednak, że ten temat stał się jeszcze bardziej aktualny, więc postanowiliśmy nadać mu świeże spojrzenie.

Czym jest system CRUD, jak zintegrować system CRUD dla MySQL w swojej witrynie WordPress, jakie są plusy i minusy korzystania z różnych podejść?

Co to jest system CRUD?

Skrót CRUD pochodzi od C reate, R ead, Update, D elete. Innymi słowy, oznacza to system zarządzania danymi. W sieci najprawdopodobniej oznaczałoby to oprogramowanie, które zarządza wpisami w Twojej bazie danych. Zwykle odnosi się do MySQL, PostgreSQL, MS SQL lub innych silników DB.

Świetnym i być może najpopularniejszym przykładem systemu CRUD jest phpMyAdmin. PHPMyAdmin to narzędzie używane przez prawie każdego programistę internetowego do zarządzania danymi MySQL online. Stało się tak szeroko rozpowszechnione, że obecnie można je nazwać standardowym narzędziem do zarządzania bazami danych MySQL. Obecnie jest preinstalowany prawie na każdym narzędziu CPanel u dostawców hostingu.

Istnieją tysiące standardowych przypadków użycia systemów CRUD. Na przykład – prawie każdy katalog, dziennik wpisów, informacje statystyczne. Zasadniczo wszystko, co jest związane z przechowywaniem informacji, wymagałoby dodawania, modyfikowania i usuwania bitów informacji. Wtedy do gry wchodzą systemy CRUD.

Dlaczego potrzebujesz systemu CRUD w WordPressie?

Sam WordPress jest potężnym systemem CMS (Content Management System), co jest również szczególnym przypadkiem systemu CRUD. Jak wiesz, użytkownicy witryny WordPress mogą dodawać posty i strony, edytować je lub usuwać. Ale czasami zdarza się, że trzeba zarządzać niektórymi danymi bazy danych bezpośrednio z interfejsu WordPressa, który zazwyczaj nie jest publikowany ani powiązany ze stroną i nie pasuje dobrze do taksonomii WordPressa. Między innymi może to być jedna z tych sytuacji, w których potrzebujesz niezależnego systemu CRUD w WordPressie:

  • Chcesz mieć narzędzie do śledzenia błędów, dziennika wpisów lub inne narzędzie do wprowadzania danych na swojej stronie WordPress;
  • Lub na przykład chcesz zezwolić niektórym użytkownikom na edycję niektórych danych biznesowych z interfejsu witryny bez zapewniania im dostępu do panelu administracyjnego witryny WordPress, a może nawet bez ujawniania faktu, że witryna działa na WordPress;
  • Innym przykładem jest wymaganie, aby niektórzy użytkownicy mogli edytować tabelę bazy danych. Na przykład modyfikacja złożonego zamówienia, edycja niektórych danych osobowych itp.

I podobne prośby.

Jak zintegrować system CRUD z witryną WordPress?

Najprostsze rozwiązanie – spróbuj znaleźć odpowiednią wtyczkę

Po pierwsze – upewnij się, że naprawdę tego potrzebujesz. Wiele zadań nie jest wyjątkowych i prawdopodobnie znajdziesz wtyczkę, która będzie odpowiadać Twoim potrzebom. Np. jeśli potrzebujesz narzędzia do śledzenia błędów, jak wspomniano powyżej, możesz sprawdzić i pobrać ten lub ten.

A jeśli potrzebujesz czegoś bardziej ogólnego, takiego jak edytowanie różnych tabel MySQL z interfejsu WordPress, wypróbuj naszą wtyczkę wpDataTables, która jest w zasadzie systemem CRUD w WordPress. Listę funkcji i przykłady ich działania można zobaczyć tutaj. Lub nawet wypróbuj darmową wersję Lite w repozytorium wtyczek WordPress.

Warto zauważyć, że wpDataTables nie nakłada żadnych ograniczeń na strukturę danych, ilość kolumn czy wierszy, obsługuje wiele typów danych oraz różne typy danych wejściowych edytora. Na przykład niektóre określone typy, takie jak załączniki lub DateTime. Umożliwia także edycję danych za pomocą wyskakującego edytora formularzy, wbudowanego edytora lub nawet edytora arkusza kalkulacyjnego podobnego do programu Excel.

Jeśli nadal czujesz, że musisz zbudować niestandardowy system CRUD w WordPressie, powinieneś przygotować się na poważne kodowanie, aby to zrobić.

Uruchom nową wtyczkę WordPress

Jeśli uważasz, że żadna wtyczka nie odpowiada Twoim potrzebom, stwórz własną! To może nie być tak przerażające, jak się wydaje na pierwszy rzut oka. Zacznij od przeczytania tego fajnego samouczka na temat tworzenia wtyczki WordPress od podstaw. I oczywiście ten w WordPress Codex.

Pierwszym początkowym krokiem podczas tworzenia dowolnej wtyczki – w tym systemu CRUD we wtyczce WordPress – jest odpowiednia struktura plików.
Typowym podejściem jest umieszczenie głównego pliku CRUD z punktem wejścia w głównym katalogu wtyczki i przygotowanie kilku podfolderów:

  • Zasoby – wszystkie javascript, arkusze stylów, czcionki, obrazy i inne statyczne zasoby, które będą niezbędne dla Twojego systemu CRUD;
  • Source – folder dla „podstawowych" klas PHP, które będą wykonywać wszystkie funkcje CRUD w back-endzie;
  • Lib – folder na dowolne komponenty firm trzecich, których możesz chcieć użyć w swoim systemie CRUD;
  • Szablony – folder na szablony HTML, które będą interfejsem użytkownika dla Twojego systemu CRUD.

Może być ich więcej (kontrolery, programy do obsługi krótkich kodów i inne) – ale to minimum na początek.

Tworzenie zaplecza edytora (klasy PHP)

Przede wszystkim potrzebujesz części back-end: skryptu PHP, który faktycznie wykona zadania CRUD. W tym celu musisz połączyć go z WordPress DB (globalny obiekt $wpdb). Tutaj możesz przeczytać fajny samouczek na temat korzystania z bazy danych WordPress i obiektu $wpdb w swoich wtyczkach.

Jeśli używasz zewnętrznej bazy danych, musisz np. użyć oddzielnego połączenia PDO lub po prostu wbudowanych funkcji PHP MySQLi (jeśli twoim silnikiem bazy danych jest MySQL).

Twoim zadaniem na tym etapie jest przygotowanie zestawu klas i metod, które przyjmą dane z front-endu w jakiejś oczekiwanej formie, zweryfikują je i oczyszczą (oczyszczanie wszystkich danych wejściowych jest bardzo ważnym środkiem bezpieczeństwa dla wszystkich systemów CRUD) i wykona czynności INSERT, UPDATE i DELETE w bazie danych.

Jak opisano w poprzednim kroku, te „podstawowe” pliki będą należeć do folderu „źródłowego” nowej wtyczki CRUD WordPress.

Stwórz interfejs front-end (HTML, JS, PHP)

Po przygotowaniu klas i metod zarządzania bazą danych Twoja wtyczka będzie potrzebowała interfejsu użytkownika, aby mógł on współpracować z nowym systemem CRUD w WordPress. Najlepszym rozwiązaniem byłoby przygotowanie zestawu szablonów w nowych plikach wtyczek i wydrukowanie ich w dowolnym miejscu za pomocą shortcode.

Warto zawsze trzymać szablony HTML oddzielnie od kodu (podejście MVC) i przygotować logicznie odseparowane pliki szablonów, np.: „edit.tpl.php”, „delete.tpl.php”, „list.tpl.php „, itp. – szablon dla każdej strony lub akcji CRUD.

Tutaj możesz przeczytać świetny artykuł o kodeksie na WordPress Shortcode API.

Połącz front-end z back-endem za pomocą wywołań AJAX (JS)

Oczywiście możesz to zrobić „w starym stylu”, z prostym przesyłaniem formularzy i ponownym ładowaniem strony. Jednak w dzisiejszych czasach nie jest to już powszechne podejście. Korzystanie z AJAX jest zamiast tego standardowym podejściem, za pośrednictwem jQuery lub innych bibliotek, takich jak Angular. Dlatego zalecamy, aby poświęcić trochę czasu i przyjrzeć się używaniu AJAX we wtyczkach WordPress, oto świetny artykuł w Kodeksie na temat korzystania z AJAX w swoich wtyczkach – zarówno po stronie administratora, jak i front-endu.

Możesz umieścić kod JS w folderze „assets”, który przygotowałeś w pierwszym kroku.

Testuj, udoskonalaj i debuguj

Po zakończeniu części wdrożeniowej poświęć trochę czasu i przetestuj swój nowy system CRUD w WordPressie. Nie możesz wykryć wszystkich błędów od samego początku, ale powtarzanie rutynowych czynności CRUD wielokrotne z różnymi przykładami (preferowane przypadki „krawędziowe” – np. bardzo duże ilości danych, wielokrotne klikanie w ten sam przycisk itp.) zawsze Ci pomoże wyłapać większość błędów – a te zawsze się zdarzają, gdy zaimplementujesz coś nowego.

CRUD vs REST: Jaka jest różnica

REST to styl architektoniczny budowania aplikacji sieciowych w oparciu o bezstanowy, buforowany protokół komunikacyjny klient-serwer, tj. protokół HTTP. CRUD to akronim dla CREATE, READ, UPDATE i DELETE, podstawowych funkcji pamięci trwałej w programowaniu.

Operacje CRUD, tj. CREATE, READ, UPDATE, DELETE, są podobne do podstawowych poleceń REST, tj. GET, PUT, POST, DELETE, co prowadzi do pomyłek między nimi. Co to jest CRUD? Co to jest ODPOCZYNEK? Jaka jest definicja CRUD vs REST? Czy REST jest zwykłą kopią CRUD?

To są bardzo trafne pytania, na które ten artykuł ma szczegółowo odpowiedzieć!

Jak działa REST?

Nie możesz zrozumieć terminów, takich jak interfejs API REST, usługi REST, macierz CRUD lub baza danych CRUD lub programowanie REST, jeśli nie rozumiesz różnicy między tymi dwoma procesami w zakresie sposobu ich działania. Zamieszanie zniknie, gdy poznasz tę różnicę.

Możesz pracować z REST na dowolnym zasobie, czy to na pliku multimedialnym, dokumencie, stronie internetowej itp. Nie ma żadnych ograniczeń co do tego, na czym możesz pracować z REST; możesz używać HTML tylko jako protokołu komunikacyjnego do wskazywania zasobów. REST oznacza Reprezentacyjny Transfer Stanu.

REST wskazuje, że każdy wyróżniający adres URL reprezentuje jakiś obiekt, do którego można się dostać za pomocą HTTP GET, a także modyfikować i usuwać go za pomocą HTTP POST, PUT lub DELETE.

Jak działa CRUD?

Możesz zastosować CRUD tylko do rekordów bazy danych i nie możesz tworzyć interfejsów API CRUD, tak jak tworzysz interfejsy API REST. Aplikacja CRUD jest ograniczona do baz danych, dlatego CRUD, w przeciwieństwie do REST, nie jest stylem architektonicznym, ale cyklem. Aplikacje i strony internetowe zawierają różne cykle CRUD.

Np. odwiedzający witrynę e-commerce może UTWORZYĆ konto, UAKTUALNIĆ konto, PRZECZYTAĆ informacje i USUNĄĆ konto. To pełny cykl CRUD, który obejmuje każdą operację CRUD.

Np. w tej samej witrynie e-commerce odwiedzający może UTWORZYĆ przedmiot w e-koszyku, a następnie ukończyć pełny cykl CRUD poprzez ODCZYTANIE, AKTUALIZOWANIE, a nawet USUNIĘCIE przedmiotu.

Podstawa i zasady REST

Podstawowe polecenia Representational State Transfer – akronim REST – obracają się wokół obiektu lub zasobu, który można opisać jako wszystko, co można ujawnić za pomocą protokołu HTTP. Przykładowe zasoby REST: wizerunek, strona internetowa, dokument, serwis. Niebo jest granicą.

REST to interfejs programowania aplikacji lub API lub architektura przeznaczona dla rozproszonych multimediów. API to usługa sieciowa zgodna z zasadami architektury REST. W ten sposób REST wywołuje każdy interfejs API za pomocą jednej z metod żądania HTTP, GET, PUT, POST i DELETE.

Sześć zasad przewodnich architektury RESTful

  1. Mandat klient-serwer

Mandat klient-serwer podkreśla fakt, że REST reprezentuje metodę rozproszoną, która opiera się na naturze separacji klient-serwer. Usługa REST obejmuje kilka możliwości i obsługuje żądania. Klient wysyła żądania, a serwer je akceptuje lub odrzuca.

  1. Bezpaństwowość

Tworzenie systemu CRUD w WordPressie - wpDataTables Tables Plugin

Bezstanowość ogranicza typ żądań, które mogą być przesyłane między konsumentem a serwerem. W efekcie jest to żądanie, które inicjuje komunikację klient-usługa, gdzie żądanie przechowuje każdą informację potrzebną do odpowiedzi serwera.

  1. Buforowanie

Celem buforowania żądania nigdy nie jest konieczność dwukrotnego przesyłania tego samego żądania, ponieważ buforowanie instruuje serwer, aby oznaczał odpowiedzi jako buforowalne lub nie. W rezultacie buforowanie zmniejsza ograniczenia lub ograniczenia generowane przez bezstanowość.

  1. Jednolita umowa

Jednolity kontrakt wyklucza użycie kilku niezależnych interfejsów w interfejsie programowania aplikacji lub interfejsie API. REST trzyma się zasad jednolitej umowy. Dlatego jeden interfejs REST jest udostępniany za pośrednictwem połączeń hipermedialnych.

  1. System warstwowy

System warstwowy wykorzystuje kilka niezależnych warstw do rozwijania i rozszerzania interfejsu. Ponieważ warstwy nie mogą zaglądać do siebie nawzajem, można wstawiać nowe żądania i oprogramowanie pośredniczące, które nie będą miały wpływu na początkowe polecenia i działanie klient-serwer.

  1. Opcjonalnie: kod na żądanie

Podczas gdy klient-serwer, buforowanie, bezstanowość, umowa jednolita i system warstwowy są niezbędnymi elementami aplikacji RESTful, funkcja Code-On-Demand nie jest obowiązkowa. Jednak Code-on-Demand pozwala zachować niezależność logiki w klientach, a tym samym aktualizować ją oddzielnie od logiki serwera.

Końcowe przemyślenia na temat CRUD vs REST

CRUD obejmuje podstawowe operacje wykonywane w statycznych magazynach danych lub bazach danych, takie jak obsługa pasywnych rekordów lub obiektów. CRUD zasadniczo manipuluje podstawowymi danymi.

REST polega na reprezentowaniu zasobów za pomocą unikalnych adresów URL, gdzie zasoby są abstrakcjami obiektów, gdzie komentarz użytkownika może być na przykład zasobem.

W związku z tym REST zawiera więcej niż zapis w tabeli komentarzy. REST dotyczy relacji rekordu z zasobem użytkownika oraz wpisu/komentarza, do którego jest on dołączony. REST to bardzo wysokopoziomowy styl API, który współdziała ze złożonym systemem.


Oczywiście ten artykuł nie był kompletnym samouczkiem – ponieważ napisanie jednego zajęłoby dwadzieścia stron. Daj nam jednak znać, jeśli masz jakieś pytania lub chciałbyś zobaczyć konkretny przykład krok po kroku, a my go dla Ciebie stworzymy.

Mamy nadzieję, że było to w jakiś sposób pomocne.

Dziękuję za przeczytanie!

Źródło obrazu: http://www.tyseo.net

Źródło nagrywania: wpdatatables.com

Ta strona korzysta z plików cookie, aby poprawić Twoje wrażenia. Zakładamy, że nie masz nic przeciwko, ale możesz zrezygnować, jeśli chcesz. Akceptuję Więcej szczegółów