![]() |
![]() |
![]()
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 :]
-------------------- Javascript, Coffeescript, Node.js, Mongo, CouchDb, chmury, workery & inne bajery - zycie jest zbyt krotkie aby miec nudna prace :)
|
|
|
![]()
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. -------------------- To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness; chaotic, confused, vulnerability, to inform yourself. Think for yourself. Question authority. |
|
|
![]()
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.
-------------------- Javascript, Coffeescript, Node.js, Mongo, CouchDb, chmury, workery & inne bajery - zycie jest zbyt krotkie aby miec nudna prace :)
|
|
|
![]()
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
![]() |
|
|
![]()
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
![]() -------------------- To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness; chaotic, confused, vulnerability, to inform yourself. Think for yourself. Question authority. |
|
|
![]()
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.
-------------------- Javascript, Coffeescript, Node.js, Mongo, CouchDb, chmury, workery & inne bajery - zycie jest zbyt krotkie aby miec nudna prace :)
|
|
|
![]()
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)
-------------------- To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness; chaotic, confused, vulnerability, to inform yourself. Think for yourself. Question authority. |
|
|
![]()
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
![]() Ten post edytował NuLL 30.05.2006, 16:03:22 -------------------- Javascript, Coffeescript, Node.js, Mongo, CouchDb, chmury, workery & inne bajery - zycie jest zbyt krotkie aby miec nudna prace :)
|
|
|
![]()
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 ![]() -------------------- Javascript, Coffeescript, Node.js, Mongo, CouchDb, chmury, workery & inne bajery - zycie jest zbyt krotkie aby miec nudna prace :)
|
|
|
![]()
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
![]() ![]() Narazie wyglada tak: (w zasadzie nic nie zmienialem)
Do tego dodalem metode do klasy akcji:
Mysle, ze spisze sie ta klasa ![]() 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 ![]() A wogóle to witam ![]() ![]() 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%) ![]() ![]() |
Ja skorzystałem z ArrayAccess
![]()
-------------------- |
|
|
![]()
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 -------------------- bigZbig (Zbigniew Heintze) | blog.heintze.pl
|
|
|
![]()
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 ![]() ![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 18.07.2025 - 15:14 |