Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> [Klasa] TurDatabase 1.1, Pierwsza klasa z pakietu TurClasses
Turgon
post
Post #1





Grupa: Zarejestrowani
Postów: 800
Pomógł: 0
Dołączył: 26.11.2005
Skąd: Nowy Sącz

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


Witam!
Ostatnio przeszukując partycje Windowsową, znalazłem tą klasę (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Odkurzyłem ją co nieco i postanowiłem dać do oceny (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) Proszę o konstruktywne opinie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) , a nie, że API mi się nie podoba (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Jej napisanie miało na celu ujednolicenie interfejsu dla różnych baz danych i systemów podłączania do nich. Obecnie jest tylko silnik mysql (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) W najbliższym czasie napiszę dla pgsql i sqlite z wersjami na PDO (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Wprowadziłem kosmetyczne zmiany (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Paczka .tar.gz
Paczka .zip

Zdravim
Łukasz

Ten post edytował Turgon 21.01.2007, 11:52:19
Go to the top of the page
+Quote Post
Ociu
post
Post #2





Grupa: Moderatorzy
Postów: 1 566
Pomógł: 37
Dołączył: 14.05.2003
Skąd: Kraków




Ogólnie ok. Brakuje tylko iteracji i cache.
Go to the top of the page
+Quote Post
Prph
post
Post #3





Grupa: Zarejestrowani
Postów: 338
Pomógł: 2
Dołączył: 4.03.2006
Skąd: Łódź

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


Witam,

Brakuje sporo rzeczy. Chociazby:

1. tworzenia polaczenia stalego.
2. innej metody fetch (masz tylko assoc)
3. transacji
4. masz affected_rows, ale nie masz num_rows.

  1. <?php
  2. handleTurDriverException($e)
  3. ?>


Po co ta funkcja? Chyba nie jest potrzebna. Obsluga wyjatku to juz sprawa programisty.

BTW, nie deconnect, tylko disconnect (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Adrian.
Go to the top of the page
+Quote Post
Turgon
post
Post #4





Grupa: Zarejestrowani
Postów: 800
Pomógł: 0
Dołączył: 26.11.2005
Skąd: Nowy Sącz

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


@Adrian, no tak, ale kiedyś dawno temu przyzwyczaiłem się do deconnect i tak już zostało. Zboczenie zawodowe (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) . Transacji ? Co to ma być ?
@Ociu: Interacja czego? Co do Cache w klasie jest napisane, że todo (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #5





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


Cytat
Jej napisanie miało na celu ujednolicenie interfejsu dla różnych baz danych i systemów podłączania do nich (...) W najbliższym czasie napiszę dla pgsql i sqlite z wersjami na PDO


Czyzbym widzial wynajdywanie kola? Przeciez PDO to wspolny interfejs dostepu do baz.


Cytat
Proszę o konstruktywne opinie , a nie, że API mi się nie podoba

A czemu nie? Jesli API dla mnie bedzie trudne, niewygodne, nazwy metod nie beda oczywiste ("deconnect" (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) ) to nie bede uzywal.

Patrz: API OpenGLa (przynajlniej dla C++, nie wiem jak jest w innych jezykach) dla kogos kto chce pisac w OOP.

Do kodu nie zagladalem.

No i jeszcze nazwa klasy mi sie nie podoba -- bo nic o niej nie mowi? Kierowca? Po co mi on?
Go to the top of the page
+Quote Post
Turgon
post
Post #6





Grupa: Zarejestrowani
Postów: 800
Pomógł: 0
Dołączył: 26.11.2005
Skąd: Nowy Sącz

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


dr_bonzo: Nie wszędzie jest PDO, a chce mieć wygodny interfejs. Poprawię trochę te rzeczy i co do nazwy to zmienię tej metody, ale klasy może...
Go to the top of the page
+Quote Post
Riklaunim
post
Post #7





Grupa: Zarejestrowani
Postów: 640
Pomógł: 44
Dołączył: 8.02.2004

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


Cytat(Turgon @ 18.01.2007, 22:03:21 ) *
dr_bonzo: Nie wszędzie jest PDO


Nie wszędzie jest PHP5, nie wszędzie safe mod jest na off. Przyjmując taką koncepcję powinieneś tworzyć pod php 4.0 na Krasnalu (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Narzędzie tworzysz albo dla dzieci robiących stronki na darmowych hostach albo do użytku w profesjonalnych projektach. Jeżeli ktoś zleci ci wykonanie dużego serwisu to wybór wymagań leży po twojej stronie tak więc wybór konfiguracji php ułatwiającej wykonanie zadania to nie problem.

Poza tym obecnie na serwerach przeważa php 5.1 nad 5.0 (bezpieczeństwo itp.) i przynajmniej do SQLite interfejs jest dostępny. Poza tym jak płacę to wymagam.
Go to the top of the page
+Quote Post
Turgon
post
Post #8





Grupa: Zarejestrowani
Postów: 800
Pomógł: 0
Dołączył: 26.11.2005
Skąd: Nowy Sącz

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


No ja też ;], generalnie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Nawet dla mnie jest to problem, że nie ma czegoś tam (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
Ociu
post
Post #9





Grupa: Moderatorzy
Postów: 1 566
Pomógł: 37
Dołączył: 14.05.2003
Skąd: Kraków




Cytat(Turgon @ 18.01.2007, 19:48:34 ) *
@Ociu: Interacja czego? Co do Cache w klasie jest napisane, że todo (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)


Wyników zapytania.
Go to the top of the page
+Quote Post
Turgon
post
Post #10





Grupa: Zarejestrowani
Postów: 800
Pomógł: 0
Dołączył: 26.11.2005
Skąd: Nowy Sącz

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


Masz na myśli implementacje interfejsów Iterator i Iterator Agregate ?
Go to the top of the page
+Quote Post
Strzałek
post
Post #11





Grupa: Przyjaciele php.pl
Postów: 384
Pomógł: 6
Dołączył: 11.09.2004
Skąd: Grodzisk Mazowiecki

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


Zawsze jest Creole
Go to the top of the page
+Quote Post
Turgon
post
Post #12





Grupa: Zarejestrowani
Postów: 800
Pomógł: 0
Dołączył: 26.11.2005
Skąd: Nowy Sącz

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


@Strzałek: Cóżto za bezczelna reklama ? Wynocha z nią (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
Strzałek
post
Post #13





Grupa: Przyjaciele php.pl
Postów: 384
Pomógł: 6
Dołączył: 11.09.2004
Skąd: Grodzisk Mazowiecki

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


Nie reklama.
Po co pisać coś odnowa? Kopiować gotowe rozwiązania? Też tak kiedyś robiłem, jednak doszedłem do wniosku że to po prostu nie ma sensu.

I tak nic lepszego od Creole nie napiszesz, więc pytanie po co?
Koniec offtopicku.
Go to the top of the page
+Quote Post
Turgon
post
Post #14





Grupa: Zarejestrowani
Postów: 800
Pomógł: 0
Dołączył: 26.11.2005
Skąd: Nowy Sącz

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


Jakieś Creole i Propel mnie tylko denerwują.
Dodałem repo online http://repository.turgon.pl.
Go to the top of the page
+Quote Post
Bastion
post
Post #15





Grupa: Zarejestrowani
Postów: 505
Pomógł: 0
Dołączył: 8.01.2005

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


Nic specjalnego. Biorąc pod uwagę,

- jeden silnik

- zły nawyk wyciszania błędów za pomocą @

- tylko fetchAssoc

- mało intuicyjne API

- w kilku miejscach nie przemyślane returny, które nigdy nie wystąpią np :

Kod
        public function insertId(){
                if(is_resource($this->hDB)){
                        return mysql_insert_id($this->hDB);
                }
                else{
                        return false;
                }
                return;
        }


- poćwicz warunki bo zwracając return mysql_insert_id($this->hDB), gdy id = 0
wyjdą klocki w stylu if ($id = $obj -> insert_id()) { } . Podobnie jest z innymi
metodami, które mogą zwrócić wynik 0 a nie FALSE

- brak współdzielenia połączeń przez obiekty TurDatabas

- brak cache

- czasochłonne określenie co chcemy z bazy uzyskać

- brak mapowania STMT

- brak escape

- brak transacji

- po co po instrukcji wyrzucenia wyjątku dajesz return false?
Go to the top of the page
+Quote Post
Riklaunim
post
Post #16





Grupa: Zarejestrowani
Postów: 640
Pomógł: 44
Dołączył: 8.02.2004

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


Cytat(Turgon @ 23.01.2007, 13:52:03 ) *
Jakieś Creole i Propel mnie tylko denerwują.


tyle że one działają, są rozwijane przez profesjonalistów i są dzięki temu stabilne i dojrzałe dzięki czemu (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) są stosowane w produkcyjnych rozwiązaniach. Tworząc publiczny kod trzeba się zastanowić po co się go tworzy ? Jeżeli ktoś ma z niego korzystać to owy kod musi spełniać pewne wymagania. Jeżeli tworzyć tylko dla siebie czy też dla script txt_kiddies to inna sprawa ale powinieneś to "wyraźnie" zaznaczyć.

Ten post edytował Riklaunim 23.01.2007, 23:44:59
Go to the top of the page
+Quote Post
Turgon
post
Post #17





Grupa: Zarejestrowani
Postów: 800
Pomógł: 0
Dołączył: 26.11.2005
Skąd: Nowy Sącz

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


Piszę coś, co mi będzie wygodnie używać choć i tak np. w przypadku tych silników, można podpiąć zawsze jakiś tam własny skrypt.
Go to the top of the page
+Quote Post
Bastion
post
Post #18





Grupa: Zarejestrowani
Postów: 505
Pomógł: 0
Dołączył: 8.01.2005

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


Daleko temu od :

- wygody
- intuicyjności
- poprawności
- sensu korzystania
Go to the top of the page
+Quote Post
Turgon
post
Post #19





Grupa: Zarejestrowani
Postów: 800
Pomógł: 0
Dołączył: 26.11.2005
Skąd: Nowy Sącz

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


Dla ciebie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Co do klasy, to i tak ulegnie kolejnej przebudowie jak wszystko co do tej pory napisałem ;]
Go to the top of the page
+Quote Post
Prph
post
Post #20





Grupa: Zarejestrowani
Postów: 338
Pomógł: 2
Dołączył: 4.03.2006
Skąd: Łódź

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


Najlepsze jest to, ze to juz wersja 1.1 (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)

Adrian.
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
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: 24.08.2025 - 10:22