Zazębianie się dwóch klas. |
Zazębianie się dwóch klas. |
30.04.2008, 08:55:38
Post
#1
|
|
Grupa: Zarejestrowani Postów: 663 Pomógł: 6 Dołączył: 3.06.2007 Skąd: Kraków Ostrzeżenie: (0%) |
Mam 2 klasy które potzrebują siebie nawzajem. Jedna Language_Manager druga System_Log.
W konstruktorze jednej podaję odwołanie do drugiej ale potrzebuję czegoś na wzór:
Da się to jakoś osiągnąć ? Ten post edytował batman 30.04.2008, 18:17:40
Powód edycji: poprawiłem (drugi raz) straszny(!) błąd ortograficzny. Następnym razem będzie warn!
-------------------- http://www.berry.nazwa.pl/edico/public_html/index.php ----> under construction
|
|
|
30.04.2008, 09:02:38
Post
#2
|
|
Grupa: Zarejestrowani Postów: 793 Pomógł: 32 Dołączył: 23.11.2006 Skąd: Warszawa Ostrzeżenie: (0%) |
Tak z ciekawości, po co Ci w systemie logowania, klasa do obsługi języków?
-------------------- Algorytmy w PHP, czy ktoś o tym słyszał?
Dlaczego tak mało kobiet programuje? ponieważ nie zajmują się głupotami. |
|
|
30.04.2008, 09:13:30
Post
#3
|
|
Grupa: Zarejestrowani Postów: 732 Pomógł: 80 Dołączył: 25.05.2005 Skąd: Szczecin Ostrzeżenie: (0%) |
A nie możesz użyć extends ? link..
PS: proszę popraw temat bo te "dwuch" boli.. EDIT: @batman - thx Ten post edytował sniezny_wilk 30.04.2008, 09:23:24 -------------------- DevBlog - http://www.bartekrogus.pl
|
|
|
30.04.2008, 09:40:40
Post
#4
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) |
Dziedziczenie tutaj to akurat jedno z gorszych wyjść. Nie polecam a wręcz odradzam. Zaburzenie jakiejkolwiek logiki.
~Black-Berry jeśli faktycznie potrzebujesz jednaj klasy w drugiej i na odwrót to zrób tak:
Aczkolwiek niewiele myśląc potrzeba posiadania Language_Managera do utworzenia System_Loga wydaje się dość dziwna. |
|
|
30.04.2008, 09:41:50
Post
#5
|
|
Grupa: Zarząd Postów: 2 277 Pomógł: 6 Dołączył: 27.12.2002 Skąd: Wołów/Wrocław |
Ten przykład raczej nie kwalifikuje się do extend.
Ja zrobiłbym to mniej więcej tak:
choć trzeba przyznać, że krzyżowe wykorzystywanie obiektów często prowadzi do sporego zamieszania w kodzie, którego ja osobiście nie lubię. Edit: Mike był szybszy -------------------- "Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
|
|
|
30.04.2008, 15:16:14
Post
#6
|
|
Grupa: Zarejestrowani Postów: 663 Pomógł: 6 Dołączył: 3.06.2007 Skąd: Kraków Ostrzeżenie: (0%) |
Dzięki za posty. Postaram się zastosować metodę mike'a.
Wyjaśnienie: Language_Manager includuje pliki jezykowe z których kożysta systemLog (chodiz o tłumaczenia). A info o tym, że konkretny plik językowy został załadowany chcę umieścić w logach (informację, że na przykład nie było tłumaczenia polskiego więc system załadował angielski plik z tłumaczeniami) Tytuł poprawiłem. Bardzo przepraszam za bład. pozdrawiam. -------------------- http://www.berry.nazwa.pl/edico/public_html/index.php ----> under construction
|
|
|
30.04.2008, 15:42:56
Post
#7
|
|
Grupa: Zarejestrowani Postów: 793 Pomógł: 32 Dołączył: 23.11.2006 Skąd: Warszawa Ostrzeżenie: (0%) |
To jak Ci loguje ładowanie pliku językowego, skoro dopiero potem jest tworzone logowanie?
-------------------- Algorytmy w PHP, czy ktoś o tym słyszał?
Dlaczego tak mało kobiet programuje? ponieważ nie zajmują się głupotami. |
|
|
30.04.2008, 17:16:12
Post
#8
|
|
Grupa: Zarejestrowani Postów: 663 Pomógł: 6 Dołączył: 3.06.2007 Skąd: Kraków Ostrzeżenie: (0%) |
no właśnie w tym sęk, muszę wymyslić coś rozsądnego. Napisałem posta bo myślałem, że może jest jakiś standard postepowania w takich wypadkach i ktoś coś słyszał. Posiedzę nad tym jeszcze z pół godzinki i napewno coś ruszy. jeszcze raz dzięki za posty.
edit: Rozwiązałem problem. Błędem z mojej strony było zakładanie, że cokolwiek powinno być wykonywane zaraz po załadowaniu konstruktora. W kontruktorze powinny być inicjalizowane tylko uchwyty do innych klas. Ten post edytował Black-Berry 30.04.2008, 17:22:53 -------------------- http://www.berry.nazwa.pl/edico/public_html/index.php ----> under construction
|
|
|
30.04.2008, 17:28:45
Post
#9
|
|
Grupa: Zarejestrowani Postów: 793 Pomógł: 32 Dołączył: 23.11.2006 Skąd: Warszawa Ostrzeżenie: (0%) |
Tylko że w Twoim przypadku najpierw tworzysz obiekt Log a potem Lang, bo lang w czasie ładowania klasy korzysta z log (ale może już po załadowaniu, kiedy będzie już działać, tylko nadal uważam że to grzebanie w gównie, lepiej aby w czasie wyświetlania logów było dodawane tłumaczenie jeśli już jest konieczne)
EDIT zjadłem spację Ten post edytował Sedziwoj 30.04.2008, 17:29:08 -------------------- Algorytmy w PHP, czy ktoś o tym słyszał?
Dlaczego tak mało kobiet programuje? ponieważ nie zajmują się głupotami. |
|
|
30.04.2008, 17:43:32
Post
#10
|
|
Grupa: Zarejestrowani Postów: 663 Pomógł: 6 Dołączył: 3.06.2007 Skąd: Kraków Ostrzeżenie: (0%) |
Chciałem dodać nowy wpis do ksiązki logów zaraz po starcie systemu. Niestety nie dało się bo wtedy wpis nie mógłby być tłumaczony na inne języki (a chcę mieć możliwość tłumaczenia wszystkiego). Zrezygnowałem więc z tego wpisu i teraz pierwszy jaki ląduje w książce to wpis o załadowaniu tłumaczeń systemowych. Masz rację, takie coś to kopanie się z koniem. Nie da sie to trudno Pomijam pierwszy wpis.
-------------------- http://www.berry.nazwa.pl/edico/public_html/index.php ----> under construction
|
|
|
30.04.2008, 18:05:37
Post
#11
|
|
Grupa: Zarejestrowani Postów: 793 Pomógł: 32 Dołączył: 23.11.2006 Skąd: Warszawa Ostrzeżenie: (0%) |
A nie możesz w logach umieszczać id do wiadomości i to co jest od niej niezależne?
Bo skoro coś bierzesz z lang, to równie dobrze, możesz tylko podać co ma wziąć, a potem przy wyświetlaniu pobiera odpowiednią wersję. Do tego nie wiem, dlaczego Logi mają być zależne od wersji językowej, no chyba że nie są tylko dla obsługi technicznej... -------------------- Algorytmy w PHP, czy ktoś o tym słyszał?
Dlaczego tak mało kobiet programuje? ponieważ nie zajmują się głupotami. |
|
|
1.05.2008, 06:47:30
Post
#12
|
|
Grupa: Zarejestrowani Postów: 663 Pomógł: 6 Dołączył: 3.06.2007 Skąd: Kraków Ostrzeżenie: (0%) |
U mnie wpis składa się przede wszystkim z tekstu, typu (note,warn, error) i czasu(do milisekund) dlatego ten tekst 1 wiadomosci musiał być wpierw tłumaczony. To bardziej taka konsola... W przyszłosci może inaczej to rozbuduję ale będę miał solidną podstawę. Ten 1 wpis miałem teź zamiar uzywać do obliczania czasu wykonania skryptu dlatego był taki istotny.
Edit: Jeśli dobrze rozumiem to unikalne ID wiadomosci nie przejdzie bo będzie za duzo rodzajów wpisów. Na razie tylko dla obsługi technicznej (czyli mnie) ale w przyszłości logi będę wysyłał mailem w razie wystąpienia errorów... Dokładnie jeszcze nie wiem ale skoro juz je zaczałem pisać to wolę to zrobić dobrze. Ten post edytował Black-Berry 1.05.2008, 06:54:09 -------------------- http://www.berry.nazwa.pl/edico/public_html/index.php ----> under construction
|
|
|
1.05.2008, 21:57:40
Post
#13
|
|
Grupa: Zarejestrowani Postów: 793 Pomógł: 32 Dołączył: 23.11.2006 Skąd: Warszawa Ostrzeżenie: (0%) |
Wiesz, i tak będziesz miał je jakiś identyfikowane, przecież masz je w wersjach językowych, więc jakoś nie widzę różnicy, czy zapisuje się wiadomość, czy tylko jej identyfikator, a przy wyświetlaniu jest dopiero na prawdę pobierana... (wyświetlani/wysyłanie czy cokolwiek innego)
-------------------- Algorytmy w PHP, czy ktoś o tym słyszał?
Dlaczego tak mało kobiet programuje? ponieważ nie zajmują się głupotami. |
|
|
1.05.2008, 22:22:20
Post
#14
|
|
Grupa: Zarejestrowani Postów: 663 Pomógł: 6 Dołączył: 3.06.2007 Skąd: Kraków Ostrzeżenie: (0%) |
Tak, masz rację. Ostatecznie rozwiązałem sprawę tak że do ksiązki wpisuję constanty, a dopiero przy wyswietlaniu zamieniam je na przetłumaczone zdania. Początkowo chciałem oszczędzić trochę czasu procesora ale to chyba nie ma jednak najmniejszego sensu. Czas tak szybko leci, że człowiek nie zauważa jak to z P90 nagle zrobiło się core Quatro na serwerach
-------------------- http://www.berry.nazwa.pl/edico/public_html/index.php ----> under construction
|
|
|
Wersja Lo-Fi | Aktualny czas: 26.04.2024 - 14:52 |