![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 338 Pomógł: 2 Dołączył: 4.03.2006 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Pisze framework do wlasnych potrzeb. Planuje napisac PROSTA i uzyteczna klase do ladowania konfiguracji. Moze macie z tym doswiadczenie? Moje rozwiazanie w szkicu jest nastepujace:
Bede wdzieczny za wskazowki, radu, etc. Pozdrawiam, Adrian. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 262 Pomógł: 21 Dołączył: 3.05.2004 Skąd: Sopot, Krakow, W-wa Ostrzeżenie: (0%) ![]() ![]() |
http://ez.no/doc/components/view/1.0.1/(fi...figuration.html - polecam, ja z tej klasy korzystam od czasu kiedy pierwszy publiczny release byl :]
|
|
|
![]()
Post
#3
|
|
Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
Osobiście, to mi się ten array nie podoba. Może jednak składowe obiektu konfiguracji zamiast arraya?
Potem nakład pracy może się zwrócic. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 2 262 Pomógł: 21 Dołączył: 3.05.2004 Skąd: Sopot, Krakow, W-wa Ostrzeżenie: (0%) ![]() ![]() |
Dostep tablicowy jest szybszy - nie ma sensu tworzyc otoczki obietowej wg mnie.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 338 Pomógł: 2 Dołączył: 4.03.2006 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
No i jeszcze mozna wziac pod uwage to, ze niekoniecznie ten array pojawi sie w klasie. Odczytujac duze pliki lepiej bedzie na bierzaco pobierac dane, chociaz kto wie (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
|
|
|
![]()
Post
#6
|
|
Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
A może pobierac dane tylko wtedy, gdy będzie taka potrzeba? Np. 'któś cóś' zmieni (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 2 262 Pomógł: 21 Dołączył: 3.05.2004 Skąd: Sopot, Krakow, W-wa Ostrzeżenie: (0%) ![]() ![]() |
Duzych plikow konfiguracyjnych sie nie tworzy. Duze pliki dzieli sie na mniejsze - lepiej przeczytac dwa mniejsze pliki niz jeden duzy.
|
|
|
![]()
Post
#8
|
|
Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
No widzisz NuLL. Może jednak obiekty, bo zarządzac będzie łatwiej (np tymi mniejszymi plikami w szerszym kontekście)
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 2 262 Pomógł: 21 Dołączył: 3.05.2004 Skąd: Sopot, Krakow, W-wa Ostrzeżenie: (0%) ![]() ![]() |
Pokaz mi przewage obiektow nad tablicami (IMG:http://forum.php.pl/style_emoticons/default/snitch.gif) Plusy programowania obiektowego znam, ale nie lubie ani wywazac otwartych drzwi ani tworzyc przerostu formy nad trescia.
Ten post edytował NuLL 30.05.2006, 16:03:22 |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 338 Pomógł: 2 Dołączył: 4.03.2006 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Odnosnie obiektowego podejscia. Chodzi np o uzyskanie:
$oConf->Actions->Error404->nextModule ? A da sie tak? Pozdrawiam. |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 2 262 Pomógł: 21 Dołączył: 3.05.2004 Skąd: Sopot, Krakow, W-wa Ostrzeżenie: (0%) ![]() ![]() |
Prph - da sie. Tylko po co ?
Poczytaj o __get w manualu w czesci poswieconej OOP dla PHP5 (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 338 Pomógł: 2 Dołączył: 4.03.2006 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
__get znam, ale umiem tylko jeden poziom odczytac. A co w przypadku ->Actions->Error->cos->innego?
Osobiscie tez wydaje mi sie metoda za lepsze rozwiazanie. |
|
|
![]()
Post
#13
|
|
Developer Grupa: Moderatorzy Postów: 2 844 Pomógł: 20 Dołączył: 25.11.2003 Skąd: Olkusz ![]() |
zagniezdzasz pare obiektow i jedziesz po koleji po nich (wracaja je pokoleji)
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 338 Pomógł: 2 Dołączył: 4.03.2006 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Tak myslalem.... Beznadziejnie (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Ma byc prosta (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Narazie wyglada tak: (w zasadzie nic nie zmienialem)
Do tego dodalem metode do klasy akcji:
Mysle, ze spisze sie ta klasa (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Jakies uwagi? Adrian. |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Ja na potrzeby swojego frameworka popełniłem takie coś
Przykładowy plik konfiguracyjny:
Niedługo pokażę światu zalążek tego frameworka (jest już całkiem sporo (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) ), tylko czekam na maila od autora OPT, ponieważ jest on wykorzystywany w moim partactwie :roll2: A wogóle to witam (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Jest to mój pierwszy post na tym forum (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ten post edytował arturwow 9.07.2006, 12:49:36 |
|
|
![]()
Post
#16
|
|
Grupa: Moderatorzy Postów: 1 566 Pomógł: 37 Dołączył: 14.05.2003 Skąd: Kraków ![]() |
Najogólniej to zrobiłem to tak:
Noi najprostrzy komponent:
Saluto, Wojtek |
|
|
![]()
Post
#17
|
|
Grupa: Przyjaciele php.pl Postów: 698 Pomógł: 3 Dołączył: 28.03.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Co do powyższego kodu - dziwnie według mnie napisany. Dziwi mnie wykorzystanie modyfikatorów dostępu, a pominięcie kontroli typów, która nie zmieni nic w kwestii przenośności tego kodu. Poza tym wywołujesz metody nie-statyczne ze statycznego kontekstu
Co do zalet pisania własnych kontenerów, to dają one nieco większą kontrolę niż tablice. Są wygodniejsze, chociażby przez fakt przekazywania przez referencje. Rozumiem NuLL, że nie kopiujesz całej tablicy przy przekazywaniu i zwracaniu jej z funkcji? Różnice przy dostępie do obiektu i tablicy są według mnie minimalne... |
|
|
![]()
Post
#18
|
|
Grupa: Przyjaciele php.pl Postów: 384 Pomógł: 6 Dołączył: 11.09.2004 Skąd: Grodzisk Mazowiecki Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 740 Pomógł: 15 Dołączył: 23.08.2004 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
A ja proponuję zapoznać się z Zend_Config.
--- edit --- @NuLL - tak na marginesie - stworz sobie uniwersalna klase typu Data Transfer Object implementującą interfejsy ArrayAccess oraz IteratorAggregate, dodaj do tego metody magiczne __get i __set i mozesz stworzyc sobie wielopoziomowy konfig dający dostep do danych zarowno w sposob charakterystyczny dla tablic, jak i dla obiektow. Pytasz po co to? Ja na przyklad uzywam w swoich projektach czegos takiego jak rejestrator obiektow, ktory umozliwia dostep do wybranych obiektow (oDb, oTpl, oLang, oUser, oConf) w dowolnym miejscu aplikacji. Ten post edytował bigZbig 11.07.2006, 07:04:56 |
|
|
![]()
Post
#20
|
|
Grupa: Moderatorzy Postów: 1 566 Pomógł: 37 Dołączył: 14.05.2003 Skąd: Kraków ![]() |
Co do powyższego kodu - dziwnie według mnie napisany. Dziwi mnie wykorzystanie modyfikatorów dostępu, a pominięcie kontroli typów, która nie zmieni nic w kwestii przenośności tego kodu. Poza tym wywołujesz metody nie-statyczne ze statycznego kontekstu Może Cie to dziwić. Mnie tez to dziwi (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Kod jest pisany z palca z czytelnymi odstępami po półrocznej przerwie w pisaniu w PHP5. (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 26.09.2025 - 17:47 |