Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: System użytkowników/uprawnień
Forum PHP.pl > Forum > Gotowe rozwiązania > Algorytmy, klasy, funkcje
Riklaunim
Tworzę klasę userów/uprawnień do mojego CMF (F-framework -> platforma -> coś większego nić CMS) oto kod:
http://www.polnoc.pl/~blogi/rik/user.class.php

Obecnie brakuje jeszcze metod od profilu, edytowania pól i zarządzania polami user_mess i user_data (te są TEXT i będą miały serializowane tablice z różnymi "polami"), oraz dodatkowo sesji/autoryzacji HTTP dla np. admina.
Proszę o ocenę i ew. propozycje co do obecnego kodu - głównie w sprawach bezpieczeństwa itp.
DeyV
Niestety - skrypt nie wywiera zbyt pozytywnego wrażenia, mimo dosyć sporych możliwości.

Wymienię tylko kilka według mnie najważniejszych błędów. (kolejność losowa)

1. Nie pracujesz z eroor_reporting( E_ALL ) przez co twój kod generuje masę notice - głównie z uwagi na brak " " przy nazwach pól w tablicach.

2. Skrypt drukuje bezpośrednio na ekran komunikaty i błędy - przez co jest o wiele trudniejszy w implementacji i nie pozwala na elastyczne wykorzystanie

3. nie w pełni wykorzystane możliwości oop - właściwie większość metod robi "za dużo" dając niezbyt przejżysty i podatny na błędy kod.

4. sama klasa również wygląda na taką, co "chce za dużo" bez dokłądnego sprecyzowania co ma robić winksmiley.jpg

5. A - i jeszcze jedno. Za niedopuszczalne uważam tworzenie niezależnego połączenia z bazą danych na potrzeby każdej z metod. Pamieąj - łączenie z bazą zadnych to zazwyczaj najbardziej czasochłonna operacja w przypadku pracy z baząexclamation.gif

Oczywiście mógłbym jeszcze powiedzieć, że warto by było się zastosować do standardów kodowania i komentarzy, ale co się będę czepiał smile.gif
Riklaunim
To jest dopiero wstępna wersja i wiele jej brakuje do końcowej, którą podzielę na 2 klasy (ta 2 będzie miała metody przydatne przy integracji zew. skryptów, jak zrobienie usera itp.)
Połączenia z bazą poprawię jak już ustali się podstawa CMSa i forma odpalania abstrakcyjnej bazy. Poza tym klasa nie połączy się z bazą gdy już jest połączona.
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-2025 Invision Power Services, Inc.