W tym artykule przyjrzymy się różnym warstwom abstrakcji bazy danych dla PHP. Przyjrzymy się również kilku wtyczkom bazy danych PHP CRUD, które mogą ułatwić Ci życie podczas interakcji z bazą danych MySQL.
Co to jest warstwa abstrakcji bazy danych?
Jak sama nazwa wskazuje, warstwa abstrakcji bazy danych to warstwa, która znajduje się między aplikacją a bazą danych. Użyjesz warstwy abstrakcji bazy danych do interakcji z bazą danych. Zaletą warstwy abstrakcji bazy danych jest możliwość przełączania bazowego zaplecza bazy danych bez martwienia się o zmiany kodu w aplikacji. Warstwa abstrakcji bazy danych upraszcza również kod bazy danych i ułatwia łączenie się z bazą danych i jej aktualizowanie.
Spójrzmy na przykład, aby to zrozumieć. Załóżmy, że wybrałeś MySQL jako zaplecze bazy danych w początkowej fazie tworzenia aplikacji. Nie używasz w swojej aplikacji żadnej warstwy abstrakcji bazy danych, więc podczas wykonywania operacji na bazie danych będziesz pisać kod specyficzny dla zaplecza MySQL.
Co zrobić, jeśli z jakiegoś powodu musisz zmienić zaplecze bazy danych z MySQL na Oracle? Ta zmiana nie będzie łatwa. Pierwszą rzeczą, którą musisz zrobić, to przejrzeć każdy fragment kodu specyficznego dla MySQL w swojej aplikacji. Będziesz musiał przejrzeć każdy wiersz kodu, który współdziała z zapleczem bazy danych MySQL i zastąpić go równoważnym kodem nowej bazy danych.
Z drugiej strony, jeśli użyłeś warstwy abstrakcji bazy danych do interakcji z zapleczem bazy danych, przełączenie do innego zaplecza bazy danych zgodnego z ODBC odbywa się w mgnieniu oka. Wystarczy zmienić ustawienia połączenia, aby odzwierciedlały nowe zaplecze bazy danych. Jak widać, warstwa abstrakcji bazy danych ukrywa złożoność, umożliwiając komunikację z różnymi zaplecza bazy danych.
Spójrz na poniższy diagram, aby zrozumieć, o czym rozmawialiśmy do tej pory.
Jak widać, warstwa abstrakcji bazy danych znajduje się między aplikacją a rzeczywistą bazą danych, więc aplikacja nie musi znać specyfiki działania podstawowej bazy danych.
Opcje warstwy abstrakcji bazy danych
Następnie przyjrzymy się kilku opcjom, których możesz użyć podczas codziennego tworzenia aplikacji. Rzućmy okiem na opcje, które omówimy w dalszej części artykułu.
- PDO
- Doktryna DBAL
- ADOdb
- PDOModel:klasa PHP abstrakcji bazy danych i pomocnika
- System zarządzania danymi xCRUD
- PDO Crud:zaawansowana aplikacja PHP CRUD
Pierwsze trzy opcje — PDO, Doctrine DBAL i ADOdb — są popularnymi opcjami typu open source i są bezpłatne. Pozostałe trzy to opcje komercyjne dostępne w CodeCanyon, więc będziesz musiał za nie zapłacić, jeśli chcesz z nich skorzystać. Z drugiej strony zapewniają one wiele funkcji, które pozwalają szybko skonfigurować podstawowe rusztowania w aplikacjach. Ponadto mają rozsądną cenę w porównaniu z tym, co zapewniają, jak zobaczymy w dalszej części tego artykułu.
Szybkie spojrzenie na popularne i bezpłatne opcje
W tej sekcji przyjrzymy się kilku popularnym i darmowym opcjom, których możesz użyć jako warstwy abstrakcji bazy danych w swoich aplikacjach PHP.
PDO
Biblioteka PDO (PHP data objects) to rozszerzenie PHP, które zapewnia interfejs do pracy z różnymi back-endami baz danych. Aby używać PDO, musisz zainstalować sterowniki PDO specyficzne dla bazy danych, których chcesz używać w swoich aplikacjach.
Jeśli więc chcesz pracować z bazą danych MySQL przy użyciu rozszerzenia PDO, musisz upewnić się, że masz włączone rozszerzenie php_pdo, które jest podstawowym rozszerzeniem PDO, oraz rozszerzenie pdo_mysql, które pozwala rozmawiać z Serwer MySQL używający warstwy abstrakcji bazy danych PDO.
Oczywiście, jeśli chcesz pracować z bazą danych inną niż MySQL, będziesz musiał zainstalować rozszerzenie pdo dla tego zaplecza bazy danych. Aby uzyskać więcej informacji na temat obsługiwanych sterowników baz danych w PDO, możesz odwiedzić stronę sterowników PDO w instrukcji PDF, która zawiera wszystko, co musisz wiedzieć.
Doktryna DBAL
Biblioteka Doctrine DBAL (warstwa abstrakcji bazy danych) to kolejna popularna biblioteka abstrakcji bazy danych, która zapewnia opakowanie wokół PDO. Doctrine DBAL zapewnia łatwe w użyciu metody API i kilka dodatkowych funkcji w porównaniu do używania samego rozszerzenia PDO.
Lista obsługiwanych dostawców baz danych przez Doctrine DBAL to:
- MySQL
- Wyrocznia
- Microsoft SQL Server
- PostgreSQL
- SAP Sybase SQL Anywhere
- SQLite
- Mżawka
Doctrine DBAL jest rozwijany w ramach projektu Doctrine, który zapewnia również ORM (maper obiektowo-relacyjny), który znajduje się na szczycie Doctrine DBAL. Doctrine ORM to narzędzie, które pozwala na pisanie zapytań do bazy danych w sposób obiektowy. W rzeczywistości sam ORM to szeroki temat, więc nie będziemy tu wchodzić w szczegóły, ale w przyszłości napiszę artykuł o ORM.
ADOdb
Wreszcie, ADOdb jest bardzo popularną biblioteką klas i bardzo starym odtwarzaczem na tym terytorium. Jest to zewnętrzna biblioteka, którą musisz najpierw pobrać i skonfigurować za pomocą swojej konfiguracji, jeśli chcesz jej użyć. ADOdb obsługuje również szeroką gamę baz danych do wyboru jako zaplecze bazy danych.
Oprócz dostarczania komponentów do odpytywania i aktualizowania bazy danych, zapewnia także obiektową bibliotekę Active Record, która działa jako ORM w taki sam sposób, jak omówiliśmy wcześniej w sekcji Doctrine ORM.
Musisz też zainstalować odpowiednie sterowniki dla zaplecza bazy danych dla tej biblioteki, w taki sam sposób, jak w przypadku rozszerzenia PDO. Na przykład, jeśli chcesz pracować z bazą danych MySQL, musisz zainstalować sterownik mysqli w PHP.
To było szybkie spojrzenie na kilka przydatnych darmowych opcji. W następnej sekcji przyjrzymy się kilku popularnym opcjom komercyjnym, które zapewniają znacznie więcej funkcji niż tylko abstrakcja bazy danych.
Najlepsze skrypty abstrakcji bazy danych PHP do kupienia
W tej sekcji omówimy kilka zaawansowanych opcji, które można wybrać dla biblioteki abstrakcji bazy danych. W rzeczywistości wybrane przez nas opcje nie działają tylko jako biblioteka abstrakcji bazy danych — zapewniają wieledużo więcej.
PDOModel:Klasa PHP abstrakcji bazy danych i pomocnika
Biblioteka PDOModel jest abstrakcją bazy danych i klasą pomocniczą PHP, która jest zbudowana na rozszerzeniu PDO. To doskonały wrapper, który umożliwia wykonywanie operacji wstawiania, aktualizowania, usuwania i zaznaczania bez pisania zapytań SQL. Zapewnia w ten sposób prostotę i czytelność. W rzeczywistości zapewnia funkcje opakowujące, które umożliwiają wykonywanie złożonych operacji przy użyciu prostych funkcji bez pisania rzeczywistych zapytań SQL.
W tej chwili obsługuje back-endy baz danych MySQL, Postgres, SQlite i SQL Server. Obsługuje transakcje i operacje wsadowe, co jest istotną funkcją, jeśli chcesz zaimportować bazę danych z zewnętrznego źródła. Wisienką na torcie jest to, że umożliwia eksportowanie danych do formatów takich jak CSV, Excel, PDF, XML i innych.
Rzućmy okiem na poniższy kod, który pokazuje, jak łatwo jest używać helpera PDOModel.
<?php // initialize the PDOModel class $pdoModelObj = new PDOModel(); // connect to a database $pdoModelObj->connect("host", "username", "password", "database_name"); // querying database [select * FROM users] $result = $pdoModelObj->select("users");
Jak widać, wykonywanie operacji na bazie danych przy użyciu klasy pomocniczej PDOModel jest bardzo proste. Aby uzyskać więcej informacji, odwiedź oficjalną stronę PDModel w CodeCanyon.
Biblioteki, o których mówiliśmy do tej pory, to warstwy abstrakcji baz danych, ale spójrzmy również na kilka wtyczek CRUD (tworzenie, odczytywanie, aktualizowanie i usuwanie), które umożliwiają łatwe generowanie kodu szkieletowego.
xCRUD:system zarządzania danymi
xCRUD to prosta, ale potężna wtyczka generatora CRUD napisana dla PHP i MySQL. Pozwala w mgnieniu oka stworzyć podstawowy kod rusztowania i jest przydatny nawet dla osób niebędących programistami. W swej istocie używa rozszerzenia mysqli do obsługi różnych operacji na bazach danych. Ale nie musisz się martwić o podstawową złożoność — wystarczy skorzystać z łatwych w użyciu funkcji zapewnianych przez system xCRUD.
Korzystając z wtyczki xCRUD, wystarczy zaprojektować tabele bazy danych, a wtyczka xCRUD zajmie się resztą. Wystarczy kilka linijek kodu, aby uzyskać gotowy do użycia interfejs użytkownika, który umożliwia tworzenie i aktualizowanie rekordów. Otrzymasz również widok listy, który zawiera wszystkie rekordy.
Rzućmy okiem na kod, który musisz napisać, aby wygenerować metody CRUD dla tabeli użytkowników.
<?php $xCRUD = Xcrud::get_instance(); $xCRUD->table('users'); echo $xCRUD->render();
Czy to nie fajne? Za pomocą zaledwie kilku linijek kodu wygenerowałeś kod rusztowania dla tabeli użytkowników. Dzięki tej wtyczce możesz zrobić znacznie więcej, ponieważ ma wiele funkcji. Możesz odwiedzić oficjalną stronę wtyczki w CodeCanyon, aby uzyskać więcej informacji.
PDO CRUD:Zaawansowana aplikacja PHP CRUD
Na koniec spójrzmy na wtyczkę PDO CRUD, która jest również wtyczką generatora CRUD, która obsługuje back-endy baz danych MySQL, Postgres i SQLite. Za pomocą zaledwie kilku linijek kodu ta wtyczka jest w stanie wygenerować piękny i atrakcyjny interfejs użytkownika, który umożliwia bezproblemowe wykonywanie codziennych operacji na bazie danych.
Jak sama nazwa wskazuje, nie jest to tylko podstawowy generator CRUD, ale raczej kompletny szablon aplikacji bazodanowej. Rzućmy okiem na kilka potężnych funkcji tej wtyczki:
- edycje wbudowane
- przesyłanie plików
- obsługa wtyczek JavaScript
- dołącz operacje
- wyszukiwanie, podział na strony i eksport
- obsługa wielu języków
- i wiele innych
A oto krótkie spojrzenie na kod, którego użyjesz do wygenerowania podstawowego interfejsu CRUD:
<?php $pdoCrudObject = new PDOcrud(); echo $pdoCrudObject->dbTable('users')->render();
Otóż to! Odwiedź oficjalną stronę tej wtyczki CRUD w CodeCanyon, aby dowiedzieć się, jak potężna jest ta wtyczka.