Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> QueryBuilder
skowron-line
post
Post #1





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

Ostrzeżenie: (0%)
-----


Witam, proszę o ocenę querybuildera.
Klasa nie jest w pełni przetestowana, ale chętnie już teraz poczytam wasze uwagi, krytykę, pochwały.
Kod dostępny jest pod adresem http://skowronline.pl/qb/source.php a jutro postaram się wrzucić przykłady użycia.

Pozrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
phpion
post
Post #2





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Ja albo jestem jakiś nawiedzony, albo nie wiem co - wszędzie widzę wpływy Kohany (IMG:style_emoticons/default/smile.gif) nie wmówisz mi, że kohanowa klasa Database nie była źródłem natchnienia (IMG:style_emoticons/default/winksmiley.jpg)

Kod przejrzałem i co mi się rzuciło w oczy:
Linia 71.
  1. public function select($columns = '')

Dobrze by było jako domyślną wartość podstawiać '*', a nie ''.

Linia 73.
  1. if(is_object($columns) OR trim($columns) == '*')

Czy to przypadkiem nie wywali błędu gdy $column będzie tablicą? trim() na tablicy?

Linia 389.
  1. public function limit($limit, $offset = '')

Domyślną wartością dla $offset ładniej by wyglądał NULL, a nie pusty ciąg.

Metody execute(), count(), first() tworzą nowe obiekty QueryResults wykonując za każdym razem zapytanie. Czyli by je wykonać i pobrać liczbę rekordów trzeba 2x wykonać to samo zapytanie.

Brak linii bo się numerowanie skończyło (IMG:style_emoticons/default/biggrin.gif) :
  1. public function __toString()
  2. {
  3. return (string) $this->expression;
  4. }

Nie rzutuj zwracanej wartości na stringa. Zwróć dokładnie to, co dostałeś. Wstawiasz inta to zwróć inta, a nie string (WHERE id = 1 jest DUŻO szybsze od WHERE id = '1').

* Teraz zauważyłem: numerowanie linii się rozjeżdża z racji różnicy wielkości czcionek :/
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 5.10.2025 - 23:04