![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 98 Pomógł: 1 Dołączył: 28.06.2009 Skąd: Great Britan Ostrzeżenie: (0%) ![]() ![]() |
Czesc wszystkim,
jestem w trakcie budowanie klasy Database no i zbudowalem juz klase do budowania zapytan, dzieki czemu wartosci sa przyjmowane typu:
I tak dochodze do wniosku po tym wszysktim czy gra jest warta swieczki, chodzi o to ze sam juz nie wiem czy nie bylo by lepiej wklepac to jako SQL i poprostu zbudowac mala klase do przechwytywania sql oraz bindowanych wartosci, jedyne plusy chyba jakie sa z mojego skryptu to prostota debugowania i czytelnosc wprowadzania danych, ale tak sie zastanawialem ze czyste SQL w postaci tekstu bylyby o niebo szybsze, czyz nie? Mozecie mi doradzic czy warto taka klase budowac, czy lepiej dac sobie z tym spokoj? |
|
|
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 4 069 Pomógł: 497 Dołączył: 11.05.2007 Skąd: Warszawa ![]() |
Daj::sobie::z::tym::spokój
Bo::widać::że::brakuje::ci:: doświadczenia Zainteresuj się frameworkami (IMG:style_emoticons/default/wink.gif) |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 98 Pomógł: 1 Dołączył: 28.06.2009 Skąd: Great Britan Ostrzeżenie: (0%) ![]() ![]() |
Ogolnie natrafilem chwile temu na stwierdzenie ze metody statyczne sa wysoce nieporzadane, moglby mi ktos przedstawic dlaczego, bo jakos nie moge znalezc odpowiedzi konkretnej, a widze w Twojej wypowiedzi ironie z tymi ::
Co do frameworkow, tak, czesto widze w odpowiedziach zeby od tego zaczynac, wiec sciagnalem dokumentacje oraz aplikacje ZendFramework, mam nadzieje ze nie okaze sie zbyt trudny i zabieram sie do lektury. Pozdrawiam |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
OOP -> Object-Oriented Programming, a Ty nie masz żadnych obiektów, przez co na dobrą sprawę narzędzia oferowane przez OOP kompletnie mijają się z celem. Ba! Dodają one tutaj jedynie problemów zamiast przyczyniać się do poprawienia czegokolwiek.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 98 Pomógł: 1 Dołączył: 28.06.2009 Skąd: Great Britan Ostrzeżenie: (0%) ![]() ![]() |
Jak nie mam zadnych obiektow?
Kazda z klas Select, Insert dizedziczy po klasy QueryBuilder, a to jest wszytstko w klasie DB, ktora tym steruje, wiec jak nie ma obiektow, nie rozumiem. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 550 Pomógł: 75 Dołączył: 5.06.2012 Skąd: Lębork Ostrzeżenie: (0%) ![]() ![]() |
Kożystając z metod statycznych nie tworzysz żadnych obiektów. Obiekt tworzymy poprzez new.
Więc lepiej skończ z tą marysią i skup się pożądanie na lekturze. Bo praktycznie w każdym kursie OOP jest napisane co to obiekt. (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 1 421 Pomógł: 310 Dołączył: 18.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 98 Pomógł: 1 Dołączył: 28.06.2009 Skąd: Great Britan Ostrzeżenie: (0%) ![]() ![]() |
Cytat Więc lepiej skończ z tą marysią i skup się pożądanie na lekturze Po pierwsze nie oceniaj mnie po avatarze, po drugie nie wrzucaj wszystkich ludzi do jednego worka. Ciesze sie ze starasz sie pomoc, ale mysle ze tu mam racje, owszem klasa DB tworzy obiekt, bo jest oparta na Singleton, poza tym kazdy kolejny obiekt to: Select, Insert, Delete, etc. Do tych obiektow odwoluje sie przez metody Select(), Insert() Wiec albo ja czegos nie rozumiem, albo te obiekty wyparowuja i ich nie ma? Up, tworzt to zapyytanie: page_order = 0, page_order, zeby elementy zero byly na koncu, czy to zle? zpaisalem to tak, a nie ('page_order', '=', 0) poniewaz wtedy wartosc zostala by zamieniona na pytajnik, a zero dodane to tabilcy ValuesToBind; wiec chcialem uniknac bindowania bo go nie potrzebuje. Btw. korzystac piszemy przez RZ, pozdrawiam edit: nawet zaimplementowalem leniwa konkretyzacje na Select, Delete etc., obiekt jest tworzony tylko wtedy kiedy jest potrzebny, wtedy kiedy zmeinna np Select() jest uzyta po raz pierwszy. Czy to nie o to chodzi? Ten post edytował Koldy 31.07.2014, 20:18:37 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 1 421 Pomógł: 310 Dołączył: 18.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
Up, tworzt to zapyytanie: page_order = 0, page_order, zeby elementy zero byly na koncu, czy to zle? zpaisalem to tak, a nie ('page_order', '=', 0) poniewaz wtedy wartosc zostala by zamieniona na pytajnik, a zero dodane to tabilcy ValuesToBind; wiec chcialem uniknac bindowania bo go nie potrzebuje. Wcześniej zapisałeś tak:
Z tego co wiem, a w bazach danych robię trochę czasu, Order By przyjmuje dwa parametry: 1. Wyrażenie (kolumna, funkcja, numer kolumny, etc) 2. Kierunek sortowania (ASC - domyślny i DESC) (całość może występować wiele razy) W swoim drugim OrderBy nie podałeś drugiego parametru, więc domyślnie powinno być ASC. Natomiast w pierwszym jest coś dziwnego '= 0' - nie jest to ani ASC, ani DESC. Jeśli chciałeś użyć wyrażenia, to trzeba to było zrobić wyrażeniem, jak na w Zend... Coś mi się wydaje, że koło wymyślasz... Tylko jakieś takie kanciate ci wychodzi. |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
1. Faktycznie, moje niedopatrzenie. Może i metody DB::select() zwracają już obiekt, ale:
1.1. Wykorzystanie Singletona jest tutaj, jak w niemal każdym przypadku, złym rozwiązaniem, które tworzy jedynie masę problemów - nie zbudujesz sobie przykładowo dwóch zapytań równocześnie. 1.2. Powinieneś pracować na obiekcie klasy DB, który to może zwracać kolejne obiekty, a nie na klasach. Jak już to powinieneś skończyć mniej-więcej z czymś takim:
@mmmmmmm: ORDER BY col_name = 0, col_name jest w pełni poprawne i ma konkretny cel (rekordy posortowane rosnąco, ale te o wartości równej zero na samym końcu). col_name = 0 to przecież nic innego jak wyrażenie. Ten post edytował Crozin 1.08.2014, 07:52:32 |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 98 Pomógł: 1 Dołączył: 28.06.2009 Skąd: Great Britan Ostrzeżenie: (0%) ![]() ![]() |
W koncu ktos dal sensowna odpowiedz, dziekuje, sprobuje stworzyc cos takiego i wywalic singletona.
Pozdrawiam @mmmmmmm: na poczatku mialo to byc tak ze: OrderBy('column = 0'), ale nie chcialem mieszac w metodzie bo do pierwszego argumentu dodaje ` `, wiec wyszlo by cos takiego: `column = 0`, tego nie chcemy. dwa, faktycznie bindowanie nie potrzebne jest, jest i je wyrzucilem, co do ASC/DESC tak ASC jest dodawany kiedy arg2 jest nie podany. Ten post edytował Koldy 1.08.2014, 19:34:47 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 21:48 |