Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][SQL][PHP][SQLite] Skrypt z możliwością działania na kilku bazach
Forum PHP.pl > Forum > Przedszkole
peter13135
Do tej pory robiłem skrypty działające tylko na bazie mysql. Nigdy nie miałem potrzeby korzystania z innej bazy.
Chciałbym zrobić skrypt który dało by radę oprzeć albo na mysql albo na sqlite (do wybory przez użytkownika w procesie instalacji skryptu).
W związku z tym mam kilka pytań.
1. Czy do tego warto użyć PDO ? Mam to opisane w książce PHP I MySQL vad. prof. wyd. III. Czy może jest już niezalecane ?
2. Jak bardzo różnią się zapytania w sqlite i mysql ? Może jest tak, że zapytania z mysql mogę wkleić bezpośrednio do sqlite (bez potrzeby używania PDO)
3. Czy wy programiści "nadbudowujecie klasę mysqli ? tzn. czy robicie coś w tym stylu:
  1. class mysql
  2. {
  3. private $db;
  4. __construct()
  5. {
  6. this->$db = new mysqli(...);
  7. }
  8. function query($sql)
  9. {
  10. $coś = $db->query($sql);
  11. //jakieś tam operacje
  12. return $cośtam;
  13. }
  14. }

Czy działacie bezpośrednio na mysqli ?
Myślę o tym, żeby zrobić klasę abstrakcyjną o nazwie driver z metodami query, num getRows itp. i dziedziczyć od niej klasy typu mysqlDriver, sqliteDriver itd.
4. Może napiszecie mi jakieś wskazówki, które mogą mi się przydać ?
mat-bi
http://php.net/manual/en/book.pdo.php

Poczytaj sobie.
peter13135
Ehh. Przeczytaj mój temat jeszcze raz. Nie szukałem dokumentacji do PDO. uwierz, że sam potrafię ją wygooglować.
hateman
Tak, my programiści używamy PDO.
I przejście między różnymi typami baz jest teoretycznie zmiana jednej linijki kodu wink.gif
Ale to zależy jakie zapytania wykorzystujesz. Jeżeli są specyficzne dla danego typu bazy to może być problem.

Rozwiązaniem jest np Doctrine gdzie posługujesz się na stworzonych modelach na podstawie bazy danych
i tu już nie ma znaczenia jaka to będzie baza, bo doctrin działa na swoich modelach a łączy się z bazą tylko przy wczytaniu modeli i zapisaniu.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.