Mysql
 sql >> Baza danych >  >> RDS >> Mysql

jak zbudować aplikację php mysql działającą offline

Istnieją zasadniczo 3 sposoby:

Wersja 1:„Stara szkoła”:PHP-Gtk+ i bkompilator

  • po pierwsze, jeśli jeszcze tego nie zrobiłeś, musisz oddzielić logikę biznesową od warstwy prezentacji (HTML, silniki szablonów, ...) i warstwy bazy danych
  • następnie dostosuj warstwę bazy danych, aby mogła żyć z alternatywną bazą danych (przychodzi mi na myśl lokalny SQlite) i wykonaj synchronizację, gdy ponownie będzie online
  • Na koniec użyj PHP-Gtk+, aby utworzyć nowy interfejs użytkownika i spakować to wszystko za pomocą bkompilatora

Wersja 2:„Standardowa”:zabierz swój serwer ze sobą

  • Spójrz na Server2Go, WampOnCD i znajomych, aby stworzyć „podwójnie klikalny serwer WWW” (Zacznij od Z-WAMP )
  • Nadal musisz dostosować swoją warstwę DB jak w wersji 1

Wersja 3:„Web 2.x”:przenieś aplikację z serwera do przeglądarki

  • Przenieś logikę aplikacji ze strony serwera (PHP) na stronę klienta (JS)
  • Uczyń swoją część serwerową (PHP) tylko warstwą dostępu do danych lub synchronizacji
  • Użyj funkcji offline HTML5, aby zastąpić dostęp do danych danymi lokalnymi, jeśli jesteś offline i ponownie zsynchronizuj, jeśli jesteś online

Który jest najlepszy?

To zależy od tego, co masz i czego chcesz. Jeśli większość logiki biznesowej jest w PHP, przeniesienie jej do przeglądarki może być niezwykle kosztowne - pamiętaj, że generuje to również zupełnie nową klasę koszmarów bezpieczeństwa. Osobiście nie polecam portowania w ten sposób, ale polecam go w przypadku nowych aplikacji, jeśli baza danych nie jest zbyt duża.

Jeśli zdecydujesz się zachować logikę biznesową PHP, decyzja między 1 a 2 często dotyczy tego, ile interfejsu użytkownika ma Twoja aplikacja — jeśli jest to tylko kilka formularzy CRUD, 1. może być dobrym pomysłem — jest to zdecydowanie najbardziej przenośny (w sensie zabrania go ze sobą). Jeśli nie, wybierz 2.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wywołaj funkcje zagnieżdżone/wewnętrzne mysql w querydsl

  2. Jak za pomocą Pentaho Kettle załadować wiele tabel z jednego stołu, zachowując jednocześnie integralność referencyjną?

  3. Nie można wydać instrukcji manipulacji danymi za pomocą executeQuery()

  4. Jak debugować zapytania MySQL/Doctrine2?

  5. Tabela Hive zwraca pusty zestaw wyników dla wszystkich zapytań