Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 111 Pomógł: 1 Dołączył: 24.12.2013 Ostrzeżenie: (0%)
|
Czesc wszystkim.
Mam 2 pytanai dotyczace spojnosci kodu i parametrow: Otoz pisze klase do obslugi logow, ktora ma pozwalac na zapisywanie ich w plikach, bazie danych czy przesylanie do sysloga, w zaleznosci od wybranego poziomu logowania. Dzieki temu bledy moga trafic do innego miejsca niz ostrzezenia. W oby przypadkach moze to byc rozna baza danych, badz rozne pliki. Tak wiec, pierwsze klaska w ktorej bede zapisywal logi do plikow musi wiedziec do jakiego pliku je zapisac, natomiast klasa logujaca zdarzenia w bazie musi wiedziec w jakiej bazie i jakiej tabeli sa przechowywane. To sprawia ze parametry konfiguracyjne beda nie tylko rozne, ale roznic bedzie sie takze ich ilosc. (plik - nazwa pliku; DB - baza, tabela). Chcialem aby w obu przypadkach, opcje byly przekazywane w formie tablicy do konstruktora:
I nastepnie szukac w $config['filename'], $config['db'], $config['table'] itp. Wywolanie konstruktora byloby wowczas takie samo. Pytanie nr 1 brzmi: czy to dobre podejscie? W sytuacji gdyby np sciezka do pliku nie zostala podana, chcialbym rzucic wyjatek mowiacy o tym, ze do konstruktora zostala przekazana nieprawidlowa konfiguracja. Tutaj jednak rodzi sie drugie pytanie: Otoz wyobrazam sobie w przyszlosci jakis panel administracyjny w ktorym bedzie mozna wybrac ze system ma logowac bledy do pliku lub bazy i po wybraniu odpowiedniej opcji, uzytkownik dostanie odpowiednie pola do wyboru. Skad aplikacja ma wiedziec ze 1 konstruktor czeka na $config['filename'] a drugi na $config['db'] i $config['table'] ? Ostatnie pytanie brzmi: Jak najlepiej zapewnic takiej klasie dostep do bazy danych? Powinna ona w parametrze $config['db'] dostac DSNa i nawiazac polaczenie do bazy? A moze skorzystac z tego samego polaczenia co cala aplikacja? Co jesli to beda 2 rozne bazy? Moze powinien pierw sprawdzac czy w $config['db'] jest obiekt klasy Database i wtedy operowac na nim, a jesli nie, sprawdzic inna opcje - przykladowo $config['dsn'] i nawiazac nowe polaczenie? |
|
|
|
Pyton_000 Podstawowe pytanie. Monolog Ci nie wystarczy? Bo w... 22.05.2017, 08:25:33
q.michal Wole napisac cos swojego, poza tym te same pytania... 22.05.2017, 08:45:36
Pyton_000 Ja nie neguję pisania swoich rozwiązań ale czy war... 22.05.2017, 09:25:54
q.michal Byc moze masz racje, ale jak juz nie raz pisalem, ... 22.05.2017, 09:31:53
Pyton_000 No dobra... No to tak, Piszesz sobie wpierw klasy ... 22.05.2017, 09:41:10
q.michal Dzieki, ale to akurat wiedzialem. Moje pytania byl... 22.05.2017, 09:46:56
nospor @q.michal musisz wziasc poprawke na starych ludzi.... 22.05.2017, 09:48:22
Pyton_000 1. array jest ok.
2. Z dokumentacji. Skoro ktoś ma... 22.05.2017, 09:51:26
q.michal 2. Co w sytuacji, kiedy budujac panel admina bede ... 22.05.2017, 10:04:35
Pyton_000 Jak często będziesz dodawał nowe wrappery Aż tak ... 22.05.2017, 11:26:07
q.michal Dzieki za rozwianie watpliwosci. 22.05.2017, 16:10:30 ![]() ![]() |
|
Aktualny czas: 24.12.2025 - 15:16 |