Nakładka mysql_* na PDO |
Nakładka mysql_* na PDO |
25.11.2013, 16:26:49
Post
#1
|
|
Grupa: Zarejestrowani Postów: 29 Pomógł: 0 Dołączył: 11.05.2013 Ostrzeżenie: (0%) |
Pogrążony nudą, napisałem dziś dość ciekawy skrypt, który za zadanie ma wyglądać w 100% jak składnia zapytań mysql_*, jednak jego mechanika opiera się w całości o PDO.
Jak to działa? Skrypt podmienia dużą ilość funkcji oferowanych przez mysql_*, na funkcje, które zostały przepisane samemu, a ich działanie to tak naprawdę biblioteka PHP Data Objects, do której możemy odnosić się "starymi" instrukcjami. Po co to komu? Zastosowań takiego rozwiązania może być wiele. Najbardziej cieakwe z nich okazują się wtedy, gdy nasz gotowy projekt korzysta z połączenia z bazą danych przy użyciu mysql_connect, jednak chcielibyśmy zacząć używać nowszej i lepszej techniki (mowa o PDO), ale nie mamy zamiaru przepisywać całego skryptu od nowa. W takim wypadku wystarczy dołączyć prezentowaną nakładkę, a problem zniknie. Jeśli mowa o problemach, wyobraźmy sobie, że nasz serwer w ogóle już nie oferuje wsparcia dla mysql_connect, a Twój skrypt to w całości ta metoda. Co robić? Korzystając z nakładki, żaden serwer nie wyrzuci informacji, o braku wsparcia lub przestarzałej funkcji. Jeśli nie masz zamiaru uczyć się PDO, czy mysqli, bo w php nie programujesz za często, ten skrypt może zaoszczędzić Ci dużo czasu. Zalety nakładki: + szybkość tworzenia aplikacji + skrypt opiera się o PDO, czyli dużo nowszym interfejsie komunikacji z bazą danych niż mysql_connect + wymaga zaledwie 3 linijek zmian + kompatybilność z Twoim kodem, dzięki przeportowanej dużej liczbie funkcji, a także zachowanym miejscem na dodatkowe parametry, nie musisz nic więcej edytować w swojej aplikacji + funkcja mysql_real_escape_string posiada filtrowanie oparte o filter_var + możliwość połączenia się z takimi systemami jak PostgreSQL, czy SQLite, bez żadnych dodatkwoych zmian! Wady nakładki: - brak jakiejkolwiek obsługi błędów, w przypadku gdy nasz kod nie działa, problemów musimy doszukiwać się całkowicie indywidualnie - jakiś procent spadku wydajności, spowodowany oczywiście nadpisywaniem funkcji Lista funkcji, które zostały zawarte w nakładce: - mysql_connect - mysql_select_db - mysql_set_charset - mysql_query - mysql_fetch_array - mysql_fetch_assoc - mysql_fetch_row - mysql_fetch_object - mysql_real_escape_string - mysql_num_rows - mysql_affected_rows - mysql_create_db - mysql_drop_db - mysql_errno - mysql_error (atrapa) - mysql_close Przejdźmy do rzeczy, kod nakładki prezentuje się tak:
A oto przykład jego użycia:
Jedyne o czym trzeba pamiętać, to tych 2 linijkach w każdym z plików zawierającym instrukcje mysql:
Oraz oczywiście dołączeniu samej nakładki Co Wy na to? Bzdet, czy raczej komuś może się przyda? Ten post edytował SlimShady 25.11.2013, 16:31:01 -------------------- wszystkie drogi prowadzą do manuala :3
|
|
|
15.02.2014, 20:46:42
Post
#2
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) |
com Byłoby fajnie gdyby te xxx ludzi pracowało dalej ;D
Realia są takie że teraz średnim przedsiębiorcom trudno jest na rynku. Każdy patrzy jak by tu działało. U mnie w firmie w której pracuję obecnie szef nawet nie wie jak wygląda aplikacja od środka która sprzedaje A co ja tam będę się tłumaczył ;P Trzeba pisać ładnie, składnie i z rozmysłem, a takie lepienie i tak się odbije wieeelkim echem w aplikacjach long-term i to bardzo boleśnie. |
|
|
Wersja Lo-Fi | Aktualny czas: 16.06.2024 - 15:45 |