![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 34 Pomógł: 0 Dołączył: 25.03.2005 Ostrzeżenie: (0%) ![]() ![]() |
witam
napisalem sobie prostą klasę do obsługi MySQL, nie zamieszczam tego jeszcze w dziale oceny ponieważ to nic wielkiego, chciałbym jeszcze nad nią tochę popracować, co radzicie, przeglądałem troche kody podobnych klas, czekam na Wasze opinie myślę o jakiejś obsłudze błędów ponieważ narazie nie ma to żadnych zabezpieczeń pzdr
i użycie:
Ten post edytował mynio 22.08.2005, 21:43:07 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 262 Pomógł: 21 Dołączył: 3.05.2004 Skąd: Sopot, Krakow, W-wa Ostrzeżenie: (0%) ![]() ![]() |
Bardzo marna ta klasa. Brak obiektu wyniku, brak możliwośc zwrócenia wyniku jako iterator - sporo do zrobienia.
-------------------- Javascript, Coffeescript, Node.js, Mongo, CouchDb, chmury, workery & inne bajery - zycie jest zbyt krotkie aby miec nudna prace :)
|
|
|
![]() ![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 569 Pomógł: 0 Dołączył: 17.08.2003 Skąd: Dąbrowa Górnicza Ostrzeżenie: (0%) ![]() ![]() |
Bez obrazy ale wyglada to jak przepisanie strukturalnego mysql na obiekt i nic wiecej.
Null: jesli chdozi o wykonanie obiektu dla wyniku itd, nie ma sprawy, ale nie wszyscy tego wymagaja. Ja naprzyklad zrobilem swoj prosty obiekt dla wlasnego uzytku i miesci sie to w 2 klasach, gdzie ta druga to dodatkowy debugger ![]() No ale wracajac do klasy. Dla ulatwienia zycia proponuje dopisac takie proste dosc metody jak getRow, getArray, getCol, getOne, insert, update bardzo przydatne przy wiekszych aplikacjach. Duzo szybciej sie pisze poznej cokolwiek. W konstruktorze odradzal automatycznego laczenia sie z baza. Wiem ze moze to dziwne, ale ja przed polaczeniem wole ustawic sobie wszystko. wlaczenie logo, debuger, licznik zapytan i wiele innych rzeczy. pozniej dopiero wykonywane jest polaczenie. To takie sugestie ![]() -------------------- Warsztat: Linux: PHP, MySQL, Apache, NetBeans, C++, Qt-Creator
Użytkownik, słowo którego specjaliści IT używają, gdy chcą powiedzieć idiota Zarządzaj swoim budżetem domowym |
|
|
![]()
Post
#4
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Z mojej strony tylko tyle co już zaznaczył @Sh4adow. Klasa nie ma najmniejszego sensu, jest tylko i wyłącznie nadpisaniem metod już zaimplementowanych w php, więc po co jej uzywać? Co innego jeżeli wnosiłaby coś konkrentego, ale tak nie jest. Gdybym miał to oceniać to byłoby to 1/10.
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 627 Pomógł: 33 Dołączył: 1.05.2005 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
proponuje ci skorzystac z gotowej klasy np. dostepnej na phpclasses.org. ja sobie bardzo chwale bodajze ezSql (ezMysql? jakos tak).
o wygoglalem http://php.justinvincent.com/ no chyba, że traktujesz to jako nauke i masz czas na zabawe z tym. wtedy to skorzystaj z rad kolegów wyżej. ja nie mam czasu wiec korzystam z tego co gotowe - o ile mi pasuje a akurat ten ezSql jest tym co sam chcialem napisac. dodalem do niego tylko zliczanie zapytan i czasow pytan. -------------------- |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 34 Pomógł: 0 Dołączył: 25.03.2005 Ostrzeżenie: (0%) ![]() ![]() |
dzięki za wyrażenie własnych opini, ta klasa to moja pierwsza klasa pisana pod PHP5 i wiem, że nie jest to nic wielkiego, mam zamiar nad nią popracować więc powinna się rozbudować, spróbuję dostosować się do rad kolegi Sh4dowa i dopisania tych metod, jeśli można by było to prosiłbym o dokłądniejsze skonkretyzowanie co wymienione przez Ciebie metody miały by dokładnie robić lub ewentualnie powiedzieć mi czy dobrze myślę:
getRow - jak myśle pobierałaby wiersz z bazy danych getArray - hmm getCol - kolumne getOne - hmm i jeszcze jedno czy warto dopisać metody typu insert, update, delate, które by poprostu dodawały, uaktualniały bądź usuwały dane z bazy czy poprostu zostawić to tak jak jest to w ten sposób i przypisywać to jakiejś zmiennej $sql, na której miała by działać metoda make_query() i jeszcze jedno nie za bardzo zrozumiałem o co chodzi Tobie NuLL Cytat Brak obiektu wyniku, brak możliwośc zwrócenia wyniku jako iterator - sporo do zrobienia. jeśli mógłbyś wyjaśnić lub odesłać to jakiegoś przykładu byłbym wdzięczny normanos: traktuję to jako formę nauki, ale dzięki za linka zapoznam się pzdr |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 82 Pomógł: 0 Dołączył: 22.07.2004 Ostrzeżenie: (0%) ![]() ![]() |
NuLL nie jesteś w dziale 'php Pro' więc miło by było gdybyś pisał by każdy zrozumial ;]
Co do klasy przypomina mi moja pierwsza klase do DB tyle ze pisana pod php4 ![]() Pare dni temu równierz pisałem klase pod php5 i bede musial ja pisać od nowa bo ona pokazuje tylko jak pisac nie wolno i jest bardzooo toporna ![]() Co do klasy przedstawionej przez normanosa też nie jest super(ogladalem tylko wersja dla mysqla). Głównie przez to:
Można by to bez problemu zastąpić funkcjami str* bądź jednym pregiem -------------------- Udzielasz sie w PHP Pro?
Uważasz sie za profesjonaliste? Przeczytaj to |
|
|
![]() ![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 569 Pomógł: 0 Dołączył: 17.08.2003 Skąd: Dąbrowa Górnicza Ostrzeżenie: (0%) ![]() ![]() |
Cytat(mynio @ 2005-08-21 19:04:47) ... getRow - jak myśle pobierałaby wiersz z bazy danych getArray - hmm getCol - kolumne getOne - hmm ... GetArray zazwyczaj pobiera wynik jako tablice asocjacyjna, gdzie indexy tablicy maja nazwy pol w tabeli. tablica jest oczywiscie wielo-wymiarowa. mozna zrobic modyfikacje pod tytulem ze zglowny index tablicy bedzie to powiedzmy klucz PRIMARY tablicy.
Wsszystko zalezy od zastosowan jakie sa potrzebne getOne - pobiera tylko jedna wartosc, zawsze pierwsza z brzegu. przydatne naprzyklad przy zliczaniu wierszy przy zapytaniach typu
Przy getCol moze zrobi generator zapytania naprzyklada podajac tylko nazwe kolumny i nazwe tablicy, ale za jednym zamachem utrudniamy limity, warunki itp. Wiec wykonujemy metode podobna do getOne, czyli ponieramy tylko jedna warosc z tablicy, zawsze pierwsza i wpladamy w polejne indexy. Tu mamy tablice jedno wymiarowa. Metod jakie mozna wykonac przy takiej klasie jest naprawde duzo, mozna to wszystko laczyc razem z obiektem zajmujacym sie cache'em. Klas do baz danych jest na tyle duzo ze oczywiscie mozna sobie cos wybrac. Ale jest to dobra rzecz do nauki i eksperymentow przy obiektach. Proste, przydatne chyba kazdemu. Ja osobiscie sie przekonalem ze uzywajac czyjejs klasy dla baz danych zawsze nadchodzi czas zeby ja chociaz troszeczke poprzerabiac ![]() Zycze powodzenia. O tym to mozna by prawie arta napisac, ale ja sie nie podejmuje, nie mam czasu juz na nic. ![]() -------------------- Warsztat: Linux: PHP, MySQL, Apache, NetBeans, C++, Qt-Creator
Użytkownik, słowo którego specjaliści IT używają, gdy chcą powiedzieć idiota Zarządzaj swoim budżetem domowym |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 34 Pomógł: 0 Dołączył: 25.03.2005 Ostrzeżenie: (0%) ![]() ![]() |
witam
edytowałem troche swoją klasę, wprowadziłem drobną obsługę błędów, marna ale rozbuduje to i wprowadzilem funckje wykorzystujące Iterator, przyznam, że pierwszy raz się z tym spotkałem i większość kodu pochodzi w wiki.php.pl teraz mam pytanie odnośnie tych klas, gdzie wprowadzać do której z klas pozostałe metody, które rozbudują możliwości tej klasy ? i jak mam rozumiec pojęcie cacheowania i debugowania o których wspominaliście w komentarzach do pierwszej wersji tej klasy pzdr |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 627 Pomógł: 33 Dołączył: 1.05.2005 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
artykuł o cacheowaniu zapytań sql (do plików) jest na webcity, poszukaj. ogolnie szybciej bedzie keszowac cały template i ja po jakims czasie usunąłem mozliwośc keszu.
nie wiem co miał kolega na mysli pisząc debbugowanie -> byc może wypluwanie tabelek z rozbiciem zapytania sql na częsci pierwsze - pomaga zlokalizowac błąd, tudzież zoptymalizowac zapytanie. przyklad tego masz w klasie, która wcześniej poleciłem. -------------------- |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 34 Pomógł: 0 Dołączył: 25.03.2005 Ostrzeżenie: (0%) ![]() ![]() |
zamieszczam kolejną wersję mojej skromnej klasy
mam pytanie o metody wymuszone przez Iterator, w jakich sytuacjach ich najlepiej używać, zauważyłem również, że raczej nie potrzebna jest metoda typu mysql_fetch_array(), ponieważ można to zrobić inaczej poprawcie mnie jeśłi źle myślę oraz kolejne pytanie do której z klas dopisywać ewentualne dodatkowe metody, o których mowa był wcześniej? pzdr |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.07.2025 - 21:07 |