Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [skrypt]DySRS
Forum PHP.pl > Inne > Oceny
Mistrig
Witam.
Chciałbym abyście ocenili mój skrypt bazy danych.
link do mirrora: www.dysrs.yoyo.pl/dowload.php
Skrypt jak się nie trudno domyślić służy do zapisywania, odczytywania i usuwania danych. Jest to wczesna wersja więc nie ma jeszcze sprawdzania niektórych błędów i blokowania plików. Chciałbym się jednak dowiedzieć od was czy obecny kod jest w miare dobry czy wręcz przeciwnie.
ps: w paczce macie przykładowe skrypty pokazyjące wykorzystanie bazy.
nospor
no coz. powiem krotko: usiąść i plakac.

1) pomijam juz sposob przechowywania danych.
2) Tworzysz plik php, ale go nie zamykasz ?>
3) dane przechowujesz jako tablica php, wszedzie jest $x++. a nie mozna normalnie podawac indexu do tablicy. musiz byc ten $x?
4) spodobala mi sie funkcja usun(). perelka w tym wszystkim. zalozmy ze zapodamy do niej parametr 5. mozna by sie wiec spodziewac, ze ta funkcja powoduje usuniecie rekordu numer 5. no nic bardziej blednego. ta funkcja usuwa 6-tą linijke w pliku. no bo przeciez nie wazne, ze 3 pierwsze linijki to:
<?php
defincja pol
$x=0
smile.gif
czyli usuwajac 5 rekord usuwam 3 rekord
ale to pikuś. wywolajmy te funkcje z paramtrem 1 - no i definicje pol tabeli poszly w .... zniknely smile.gif

podsumowujac:
ty weź usiądz i na spokojnie przemysl to co chciales zrobic i spojrz na to co zrobiles

edit:

podoba mi sie tekst ze strony:
Cytat
DySRS pozwala na łatwe i bezpieczne przechowywanie danych.
smile.gif
Mistrig
No to pokolei:
2)Nie zamykam skryptu ?> dla... dobra przyznaje sie dla wygody. Po prostu fwrite zapisuje mi dane na końcu i miałbym problem z tym "?>"
3)dane są tak przechowywane, ponieważ jak nastąpi usunięcie jednego rekordu to jak to będzie potem wyglądało rekord 4 a potem rekord 6 ?
4)fakt niezbyt "intuicyjne", zostanie poprawione.
edit do edit smile.gif
No co miałem tam napisać, DySRS pozwala na trudne i niebezpieczne przechowywanie danych? smile.gif
nospor
ad3)
No i tu sie klania sposob w jaki przechowujesz i usuwasz dane. Usuniecie u ciebie polega na wczytanie calego pliku i zapisaniu go ponownie ale juz bez danel linijki. Po co? Przeciez zeby usunac , musisz najpierw wczytac tabele poprzez select_table(). czyli tabele juz masz w pamieci, a ty przy usuwaniu wczutjesz jeszcze raz ją na nowo. skoro masz juz ja w pamieci to zrob:
http://pl.php.net/manual/pl/function.array-splice.php
usunie ci element a indexy sie zmienią na wlasciwe. potem zapisz juz tylko nową tabele.

ale i tak uwazam ze do niczego ta bazka. takie moje zdanie. a juz tekst w stylu, iz nadaje sie ona do średnich aplikacji, to lekka przesada
Mistrig
Witam ponownie.
Wyszła nowa wersja (0.7) i chciałbym żebyście ponownie ocenili skrypt.
Do sciągnięcia z tąd:http://www.minidb.topworld.org/dowload.html
nospor
Pare uwag odnosnie kodu:
1) Mieszanie jezykow: usun, zapis, select, check, create,.....
sie zdecyduj

2) brak komentarzy przy funkcjach

3)
  1. <?php
  2. try
  3. {
  4. $wp=fopen('data/'.$this->baza.'/'.$this->tabela['nazwa'].'.php', 'w');
  5. if (empty($wp))
  6. {
  7. throw new Exception('BĹ‚Ä…d! Nie moĹĽna otworzyć pliku');
  8. }
  9. }
  10.  
  11. catch (Exception $e)
  12. {
  13. echo $e->getMessage();
  14. }
  15. ?>
smile.gif
fopen nie rzuca wyjatkami, mimo tego ty przechwytujesz wyjatek na fopen. czemu? po krotkiej analizie kodu widac czemu: bo jesli fopen zwroci false to ty sam generujesz wyjatek. no mialoby to sens, gdyby ten wyjatek szedl na zewnatrz. ale nie, ty ten wyjatek zaraz po wyrzuceniu przechwytujesz... gdzie sens i logika? wciskanie na hama rzeczy tylko po to by je wcisnac jest bez sensu

Do funkcjonalnosci sie nie odnosze bo sie odnosilem wczesniej a teraz nie chce mi sie brnac przez to samo smile.gif.
Mistrig
zaktualizowane...
nospor
  1. <?php
  2. if (!$wp=fopen('data/'.$this->baza.'/'.$this->tabela['nazwa'].'.php', 'w'))
  3. {
  4. echo 'nie mozna otworzyc pliku';
  5. }
  6. ?>

No i teraz taki koles, co pisze "sredniej wielkosci" aplikacje, z bardzo fajną oblsugą bledow, dostaje telefon od wkurzonego zleceniodawcy, ze im na stronie zamiast aplikacji pojawia sie napis: "nie mozna otworzyc pliku". Koles jest zdziwiony, ale jak to, przeciez mam obsluge bledow, ladnie wszystko jest wyswietlane... glowi sie i glowi dojsc nei moze czemu. Bo nawet przez mysl mu nie przeszlo, ze w Twojej klasie w kodzie jest exit, ktore totalnei konczy wykonywanie skryptu...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.