Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> Przejście z pisania strukturalnego na obiektowe.
1q2w3e4r
post
Post #1





Grupa: Zarejestrowani
Postów: 238
Pomógł: 0
Dołączył: 6.05.2011

Ostrzeżenie: (10%)
X----


Witam,

Programuję w php od kilku lat, zrobiłem wiele różnych stron. Mam gotową strukturę katalogów i plików, a także panel admina, który wykorzystuję do tworzenia stron. Ale.. to wszystko robię strukturalnie. W miarę szybko w tej chwili zbuduję nawet zaawansowane strony. Z przenośnością napisanych już wcześniej funkcji nie ma tak wiele problemu, ale trzeba zazwyczaj przenosić kilka plików razem z tabelami z bazy.
Wiele razy natykałem się na Frameworki i wiele osób wychwala, że lepiej się pisze strony. Ale ja nie mogę się przyzwyczaić. Może dlatego, że nie znam do końca pisania obiektowo bo znam to tylko z analiz przykładów.
Słyszałem też, że strony napisane w OOP spada czasami ich wydajność ponieważ obszerne klasy muszą ładować się do ramu, a przy dużym ruchu może być to kłopotliwe. Natomiast zaleta pisania strukturalnie to serwis działa bardzo szybko i bez większego obciążenia dla serwera.
Zastanawiam się nad przepisaniem tego mojego systemu, który pomaga w pisaniu stron na OOP, ale nie czuję się na siłach.
Może ktoś polecić jakąś książkę z programowania OOP w php, która nauczy mnie przejść z pisania strukturalnego na obiektowe, a także aby nauczyła tworzyć dobrze zbudowane aplikacje internetowe, które są SZYBKIE i bezpieczne. Chciałbym też wiedzieć jak zbudować strukturę strony takiej jak facebook, aby wytrzymała nawet takie obciążenie (żeby dokładać najwyżej serwery).
Fajnie są zrobione moduły w PrestaShop, każda funkcjonalność działa na modułach co mi się bardzo podoba. Jeden moduł wpływa na inne moduły i zachowanie całej strony, a moduł zawarty jest w jednym katalogu (nie jest rozwalony po wielu katalogach).
Interesowałem się frameworkiem CI, tylko nie wiem czy się w niego wgłębiać, bo zapoznanie się z kodem napisanym przez kogoś wiele czasu zajmuje. Więc może lepiej by było napisać coś swojego gdzie będzie się znało każdą linijkę.
Mam pytanie również jaki edytor będzie najlepszy do pisania w OOP ? Aktualnie wiele lat siedzę na kED i bardzo mi się podoba ale brakuje obsługi SVN ewentualnie FTP.

Proszę o jakieś porady.
Go to the top of the page
+Quote Post
Orzeszekk
post
Post #2





Grupa: Zarejestrowani
Postów: 260
Pomógł: 14
Dołączył: 8.09.2011

Ostrzeżenie: (0%)
-----


"Sukces osiągają ci, którzy potrafią się zmusić" - Goethe.
musisz po prostu cos napisac obiektowo na siłę dla eksperymentu i sie przyzwyczaisz.

Nie znam nikogo kto przerzuciłby się z obiektowego na strukturalne twierdzac ze jest lepsze, za to znam ignorantów którzy mówią że paradygmat strukturalny jest lepszy ponieważ nie chce im się nauczyc obiektowego. A rozsądne osoby wiedzą że wszystko ma swoje zastosowanie, natomiast programowanie strukturalne lepsze jest do pisania pod uC i cos co wymaga dużej wydajnosci a nie czytelnosci - portale zazwyczaj wymagaja duzej czytelnosci kodu zamiast wydajnosci.

Do pisania obiektowo w PHP zdecydowanie edytor PHPStorm firmy Jetbrains, lepszego nie znajdziesz.
Framework Symfony 2.

a facebook to paskudny kawałek kodu i na pewno nie znalazłbyś tam godnych nasladowania wzorcow projektowych smile.gif - info od firm pracujących zawodowo z API facebooka.

Ten post edytował Orzeszekk 14.06.2012, 20:51:02


--------------------
"The first 90 percent of the code accounts for the first 90 percent of the development time. The remaining 10 percent of the code accounts for the other 90 percent of the development time."
Tom Cargill, Bell Labs
Go to the top of the page
+Quote Post
magnus
post
Post #3





Grupa: Zarejestrowani
Postów: 99
Pomógł: 15
Dołączył: 15.11.2007
Skąd: Nowogród Bobrz.

Ostrzeżenie: (0%)
-----


Sęk w tym, że swojego "systemu" wcale nie musisz przepisywać obiektowo. Musisz go po prostu wyrzucić i zapomnieć o nim smile.gif
ZAMIAST tego naucz się dowolnie wybranego frameworka. Tak jak kolega wyżej napisał - żeby się nauczyć, trzeba po prostu pisać własny kod. Analiza cudzego może być pouczająca, ale to tak jakbyś chciał zostać dobrym kierowcą oglądając w tv dużo wyścigów samochodowych wink.gif W cudzym kodzie można podglądnąć rozwiązania pewnych rzeczy, ale i tak trzeba najpierw mieć jakiś konkretny problem do rozwiązania.
Kodu frameworka też nie musisz analizować, starczy, że będziesz umiał się nim posługiwać.

Jeśli chodzi o frameworki, to w zasadzie obojętne którego się zaczniesz uczyć, trzeba poczytać trochę o kilku różnych i wybrać sobie taki, jaki najbardziej leży (spróbować zrobić jakąś malutką testową aplikację z jakiegoś tutoriala albo dokumentacji).

Ja się przesiadłem z kEda dość dawno temu na NetBeans i nie narzekam, obsługa SVN/Git jest.

Z książek to np. "PHP. Obiekty, wzorce, narzędzia. Wydanie III" M. Zandstra.


--------------------
Efemental.pl - nasz punkt słyszenia :: recenzje :: tylko metal!
Opensource'owy klon Cantra: http://github.com/magnax/Simtr
Go to the top of the page
+Quote Post
Orzeszekk
post
Post #4





Grupa: Zarejestrowani
Postów: 260
Pomógł: 14
Dołączył: 8.09.2011

Ostrzeżenie: (0%)
-----


tylko błagam cie nie pisz własnych frameworków jak robi to każdy rozpoczynający zabawe z PHP w tym i ja za co do tej pory mam duży problem (kod jak dziecko, zrobisz raz, pielegnujesz cale zycie)... jesli najdzie cie taki głupi pomysł, przesiądź się na jave+spring albo asp.net na 3 miesiące, naucz sie tamtych zobacz jak to w praktyce działa, i pozniej wroc do php korzystajac z najlepszych praktyk


--------------------
"The first 90 percent of the code accounts for the first 90 percent of the development time. The remaining 10 percent of the code accounts for the other 90 percent of the development time."
Tom Cargill, Bell Labs
Go to the top of the page
+Quote Post
hind
post
Post #5





Grupa: Zarejestrowani
Postów: 142
Pomógł: 24
Dołączył: 30.03.2009
Skąd: Rokitno Szlacheckie

Ostrzeżenie: (0%)
-----


A najgorzej jak się przywiążesz do jednego rozwiązania, a potem znajdzesz lepsze i nie chce ci się przepisywać całej aplikacji. A własny fw to po tylu latach mogę stwierdzić że poniekąd zły pomysł.
Waże są komponenty które dostarcza FW i tak mój własny FW to tak na prawdę sam FronController, parser URL, i Controllery,a reszta to już z Zenda.
Wiec jeśli chcesz tworzyć własny FW, to opieraj się o gotowe komponenty tworząc tylko wygodną strukturę do zarządzania.
Go to the top of the page
+Quote Post
magnus
post
Post #6





Grupa: Zarejestrowani
Postów: 99
Pomógł: 15
Dołączył: 15.11.2007
Skąd: Nowogród Bobrz.

Ostrzeżenie: (0%)
-----


Zaczynanie od pisania własnego frameworka to, oględnie mówiąc, głupi pomysł.
Można to zrobić na koniec - jak się już zrobi kilka dużych projektów w różnych frameworkach i jest się wymiataczem w obiektowym PHP. Wówczas można się podjąć napisania frameworka, który będzie miał jakieś konkretne cechy, będzie rozwiązywał jakiś problem, albo będzie oparty o jakąś nową koncepcję. Albo przynajmniej będzie miał ambicję bycia lepszym od istniejących pod jakimś względem.
A żeby napisać FW inny niż wszystkie, to trzeba by najpierw wszystkie poznać wink.gif


--------------------
Efemental.pl - nasz punkt słyszenia :: recenzje :: tylko metal!
Opensource'owy klon Cantra: http://github.com/magnax/Simtr
Go to the top of the page
+Quote Post
Orzeszekk
post
Post #7





Grupa: Zarejestrowani
Postów: 260
Pomógł: 14
Dołączył: 8.09.2011

Ostrzeżenie: (0%)
-----


Cytat(magnus @ 15.06.2012, 12:12:27 ) *
Zaczynanie od pisania własnego frameworka to, oględnie mówiąc, głupi pomysł.
Można to zrobić na koniec - jak się już zrobi kilka dużych projektów w różnych frameworkach i jest się wymiataczem w obiektowym PHP. Wówczas można się podjąć napisania frameworka, który będzie miał jakieś konkretne cechy, będzie rozwiązywał jakiś problem, albo będzie oparty o jakąś nową koncepcję. Albo przynajmniej będzie miał ambicję bycia lepszym od istniejących pod jakimś względem.
A żeby napisać FW inny niż wszystkie, to trzeba by najpierw wszystkie poznać wink.gif


mysle ze ciezko by ci bylo komukolwiek w pojedynke przebic sf2 smile.gif
nie sądze by po poznaniu wiekszosci frameworków php, chciałoby ci sie pisać własny. po prostu wybralbys najlepszy dla siebie i w nim robił.


--------------------
"The first 90 percent of the code accounts for the first 90 percent of the development time. The remaining 10 percent of the code accounts for the other 90 percent of the development time."
Tom Cargill, Bell Labs
Go to the top of the page
+Quote Post
Adi32
post
Post #8





Grupa: Zarejestrowani
Postów: 348
Pomógł: 26
Dołączył: 8.10.2008
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Z ciekawości zajrzałem i widzę, że Panowie nie pochwalają pisania własnego FW.

Obawiam się krytyki ale przyznam, że ja tak zrobiłem. Piszę aktualnie własny FW w celach nauki OOP. Wzoruje się załkowicie na tym co poznałem w ZF
i muszę przyznać, że widać efekty. Nauka nie idzie w las i sporo już widać. Co w cale nie znaczy, że zamierzam stawiać na tym FW strony - niby dziwne zachowanie ale wole później wrócić na ZF bardziej zorientowany w OOP niż gdy zaczynałem.

P.S. Też napisałem własną aplikacje strukturalnie jednak teraz gdy oparłem się o OOP tamten kod wydaje mi się śmieszny. Również nie znam nikogo kto przerzuciłby się z OOP na strukturalny.

Ten post edytował Adi32 18.06.2012, 11:49:07


--------------------
Wolałem języki z rodziny C ale poszedłem na łatwizne...
Go to the top of the page
+Quote Post
irmidjusz
post
Post #9





Grupa: Zarejestrowani
Postów: 279
Pomógł: 60
Dołączył: 25.02.2012

Ostrzeżenie: (0%)
-----


Z OOP się już do proceduralnego nie wraca.

--------------------------------------------------

Natomiast co do tworzenia własnych rozwiązań (nie tylko frameworków), to warto pamiętać o tym (cytat z książki "Debugowanie" Paula Butchera, Helion 2010):

Cytat
Tak się już stało, że my, programiści, przekonani jesteśmy co do tego, że wszystko powinniśmy robić we własnym zakresie. Przekonanie to często ujawnia się w postaci syndromu "co nie moje, to niedobre" (Not Invented Here), polegającego na ponownym wynajdowaniu koła, czyli (ułomnego nieraz) implementowania rzeczy, dla których gotowe, często perfekcyjne implementacje, dostępne są na wyciągnięcie ręki.


tongue.gif


--------------------
there is much to be learned
Go to the top of the page
+Quote Post
bastard13
post
Post #10





Grupa: Zarejestrowani
Postów: 664
Pomógł: 169
Dołączył: 8.01.2010
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Pisanie FW jest jak budowanie domu. Lepiej najpierw zbudować budę dla psa, bo bezpieczniej na błędach uczyć się w skali mikro.
Jeżeli chcesz pisać obiektowo, to nie sprowadza się to do implementacji MVC/MVP czy czegoś podobnego i nazwania tego FW. Choć wiele osób tak właśnie zaczyna, bo z tym (przynajmniej jeśli chodzi o PHP) im się kojarzy OOP.

Jeśli chcesz się uczyć, to wymyśl sobie aplikację, którą chcesz stworzyć. Przykład biblioteki z wielu podręczników jest bardzo dobry, choć nie jest zazwyczaj przedstawiany obiektowo. Czym są Twoje klasy? Są one odwzorowaniem rzeczywistych bytów (choć bez tożsamości) na kod tzn. Czytelnik, Książka, Karta do biblioteki itp. Czym są obiekty? To instancje klas, które mają pewną tożsamość, czyli już nie tylko Książka, ale "Zbrodnia i Kara" Fiodora Dostojewskiego.

Czasami ciężko się zdecydować, czy coś powinno być klasą czy nie, bo np. strona książki? To klasa czy nie? Takie decyzje są podejmowane w zależności od funkcjonalności. Jeżeli interesuje Cię ilość stron, to wystarczy odpowiedni atrybut w klasie Książka, ale jeśli potrzebujesz wiedzieć, jaki jest numer strony, jaka jest jej treść itp., to już masz kandydata na kolejną klasę.

Programowanie obiektowe to świetna zabawa, ale też sporo nauki. I nie w sensie wiedzy, bo paradygmaty i wzorce, to nie jakaś niewyobrażalna ilość materiału, ale nauczenie się myślenia, to już wyższa szkoła:)


--------------------
Go to the top of the page
+Quote Post
Orzeszekk
post
Post #11





Grupa: Zarejestrowani
Postów: 260
Pomógł: 14
Dołączył: 8.09.2011

Ostrzeżenie: (0%)
-----


autorowi tematu podpowiem tyle ze na jednej z rozmów o pracę podziękowano mi za to że pochwaliłem się że napisałem swój własny framework PHP, zamiast nauczyc sie zenda czy symfony. Wcale nikt tego nie uważa za coś dobrego.
Zostałem uznany właśnie za niedojrzałego programistę który nie umie pracować z cudzym kodem i musi wszystko pisać własne.
A pracy z cudzym kodem trzeba sie nauczyc jesli sie chce cokolwiek wiecej działać, w pojedynke swiata nie stworzysz.

patrzac z perspektywy czasu pisząc własny framework PHP bardziej utrwalilem sobie złe wzorce niż dobre.

nieco pozniej zmieniłem technologie na C# i asp.net, tam sie frameworkow wlasnych nie pisze bo są gotowe instalowane razem z IDE i są świetne, w końcu są komercyjne i płatne. I dopiero pracując z tymi frameworkami wyrobiłem sobie dobre nawyki, ktore teraz moge przeniesc do PHP. Ale i tak nie bede pisał własnego frameworka bo wiem ze to nie ma sensu, wiem juz jakie problemy sprawia projekt na własnym frameworku. On sprawia problemy nawet mi, a co mowic gdyby ktos go dostał po mnie do rozwijania. To byłaby tragedia tongue.gif

aktualnie pracuje właśnie z kodem opartym na moim frameworku, i porównując go z kodem aplikacji pisanych przeze mnie w pełni na asp.net mvc kod PHP wydaje mi sie zasmiecony i po prostu smieszny.

Ten post edytował Orzeszekk 24.06.2012, 17:39:46


--------------------
"The first 90 percent of the code accounts for the first 90 percent of the development time. The remaining 10 percent of the code accounts for the other 90 percent of the development time."
Tom Cargill, Bell Labs
Go to the top of the page
+Quote Post
Niktoś
post
Post #12





Grupa: Zarejestrowani
Postów: 1 195
Pomógł: 109
Dołączył: 3.11.2011

Ostrzeżenie: (10%)
X----


Cytat
nieco pozniej zmieniłem technologie na C# i asp.net, tam sie frameworkow wlasnych nie pisze bo są gotowe instalowane razem z IDE i są świetne, w końcu są komercyjne i płatne


Nie pisz tak, bo ktoś kto się mało zna uwierzy. Wystarczy mieć oryginalny Windows i to wszystko i frameworki nie są instalowane z IDE lecz są w aktualizacjach (paczkach),service packach dla OS- windows update.
Samo IDE też jest darmowe jeśli chodzi o wersje VS express, czy WebMatrix.

Ten post edytował Niktoś 24.06.2012, 18:01:03
Go to the top of the page
+Quote Post
Bandicoot
post
Post #13





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 31.03.2010

Ostrzeżenie: (0%)
-----


Ja obiektowe zacząłem rozumieć na przykładzie c++ (dosłownie liźnięty temat na studiach), teraz staram się to wszystko nadrobić w php. Pomaga mi w tym książka "Programowanie obiektowe w PHP 5" autorstwa Hasin Hayder i muszę przyznać że korzysta mi się z tej lektury bardzo przyjemnie. Celem nauki jest dalsza nauka z tym że ZendFramework i napisanie portalu jako pracę inżynierską. Jak dam radę, bo okaże się w marcu. Póki co patrząc na kod strukturalny, a obiektowy widzie jeden wielki bałagan (w strukturalnym), no ale to takie info od początkującego w temacie.
Pozdrawiam.

Ten post edytował Bandicoot 25.06.2012, 23:16:05
Go to the top of the page
+Quote Post
kukix
post
Post #14





Grupa: Zarejestrowani
Postów: 600
Pomógł: 2
Dołączył: 1.09.2002
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Witam.

Pozwole sobie podłączyć się pod temat...

Też próbuje zacząć projektować obiektowo i w wolnym czasie bede sobie układał swój własny obiektowy kodzik..

Dajmy na przykład, że buduje cms'a i mam dział Newsy.. dla parametru index.php?dzial=newsy

Jak teraz ułożyć strukturę tej klasy.. tak, żebym miał kilka akcji w tym dziale.

1. (Domyslna) Wyświetlanie listy newsów
2. Wyświetlanie formularza do edycji (jesli jest param id) lub dodania
3. jak ułożyć mechanizm kasowania albo blokowania newsów i zapisywania formularza.. jak ta klase ułożyc?


Czy dla działu np ankiety muszę robić inną klase, która to wszystko wyświetli?

Czy jeżeli w panelu administracji nie bedzie żadnych szablonów bo grafika bedzie w kodzie php to nie trzeba tutaj używać frameworków?

Ten post edytował kukix 30.06.2012, 13:33:40
Go to the top of the page
+Quote Post
Mephistofeles
post
Post #15





Grupa: Zarejestrowani
Postów: 1 182
Pomógł: 115
Dołączył: 4.03.2009
Skąd: Myszków

Ostrzeżenie: (0%)
-----


Po pierwsze: co ma framework do szablonów? Źle rozumiesz, szablon strony (czyli layout) =/= system szablonów (template). Framework nie ma nic wspólnego z systemem szablonów, choć zazwyczaj frameworki zawierają taki system.

Po drugie: Jedna klasa nie może obsługiwać żądania, zmiany danych w bazie i wyświetlania jednocześnie. To co chcesz zrobić to zadanie dla całego frameworka. Najlepiej użyj gotowego, np. Symfony.
Go to the top of the page
+Quote Post
kukix
post
Post #16





Grupa: Zarejestrowani
Postów: 600
Pomógł: 2
Dołączył: 1.09.2002
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Cytat(Mephistofeles @ 30.06.2012, 14:56:28 ) *
Po pierwsze: co ma framework do szablonów? Źle rozumiesz, szablon strony (czyli layout) =/= system szablonów (template). Framework nie ma nic wspólnego z systemem szablonów, choć zazwyczaj frameworki zawierają taki system.

Po drugie: Jedna klasa nie może obsługiwać żądania, zmiany danych w bazie i wyświetlania jednocześnie. To co chcesz zrobić to zadanie dla całego frameworka. Najlepiej użyj gotowego, np. Symfony.


Dziekuje za infomracje.. naprowadziło mnie to troszke na temat, ponieważ coś mi sie uroiło że Symphony = Smarty :/

na swojej stronie chciałem używać system szablonów RainTPL, polecany przez wiele osób.. czy on nie bedzie kolidował z Symphony?
Go to the top of the page
+Quote Post
Mephistofeles
post
Post #17





Grupa: Zarejestrowani
Postów: 1 182
Pomógł: 115
Dołączył: 4.03.2009
Skąd: Myszków

Ostrzeżenie: (0%)
-----


W Symfony domyślny jest Twig, co nie oznacza, że nie da się tego zmienić, choć nie widzę sensu, bo Twig jest dużo lepszy od Raina i mało kto w ogóle zmienia domyślny system szablonów (ewentualnie na czyste PHP).
Go to the top of the page
+Quote Post
kukix
post
Post #18





Grupa: Zarejestrowani
Postów: 600
Pomógł: 2
Dołączył: 1.09.2002
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Cytat(Mephistofeles @ 30.06.2012, 17:26:39 ) *
W Symfony domyślny jest Twig, co nie oznacza, że nie da się tego zmienić, choć nie widzę sensu, bo Twig jest dużo lepszy od Raina i mało kto w ogóle zmienia domyślny system szablonów (ewentualnie na czyste PHP).


A dlaczego uważasz, że jest dużo lepszy od Raina? Więcej opcji raczej nie potrzeba już w szablonach, a czy jest wydajniejszy?

A czy macie dostęp do jakiś ciekawych materiałów o symphony? Jak zacząc z tym prace?

Ten post edytował kukix 30.06.2012, 20:47:40
Go to the top of the page
+Quote Post
Mephistofeles
post
Post #19





Grupa: Zarejestrowani
Postów: 1 182
Pomógł: 115
Dołączył: 4.03.2009
Skąd: Myszków

Ostrzeżenie: (0%)
-----


Oj potrzeba, potrzeba. Przekonasz się jak zaczniesz robić coś więcej niż tylko wyświetlenie zmiennej wink.gif. Wydajnością się nie przejmuj, szablony Twiga są kompilowane do postaci klasy PHP, ogólnie wszystkie szablony są kompilowane do czystego PHP.
Poza tym nawet jeśli nie wykorzystujesz większości funkcji, to przecież one w żaden sposób nie przeszkadzają.

http://symfony.com/doc/current/quick_tour/...ig_picture.html - zarys działania
http://symfony.com/doc/current/book/index.html - podstawowa dokumentacja
http://www.ens.ro/2012/03/21/jobeet-tutorial-with-symfony2/ - adaptacja Jobeeta
Go to the top of the page
+Quote Post
1q2w3e4r
post
Post #20





Grupa: Zarejestrowani
Postów: 238
Pomógł: 0
Dołączył: 6.05.2011

Ostrzeżenie: (10%)
X----


1. Potrzebuję się nauczyć programowania obiektowego. Proszę o jakąś książkę, która dobrze wprowadzi mnie do OOP ze strukturalnego. Najlepiej uczę się na przykładach dlatego fajnie by było gdyby nauka OOP opierała się na praktycznym przykładzie.
2. Następnie chcę wybrać jakiś framework. Główne wymagania to:
- szybkość
- możliwość tworzenia modułów w jednym folderze, żeby nie były rozwalone po całym skrypcie, napisane wcześniej moduły chcę wykorzystywać w innych projektach, czyli niezależność
- możliwość tworzenia szablonów strony z możliwością nadpisywania plików domyślnych, czyli szablon może zawierać nowe pliki, które są dopasowane do struktury strony i które się nadpisują jesli istnieja w szablonie. Umożliwi to całkowitą edycję strony w zależności od wczytanego szablonu.
- cache
- czytelność kodu
- dobra dokumentacja oraz dobra pomoc techniczna w razie problemów
- nowoczesność

3. Ostatnio chciałem sprawdzić popularne strony, które są napisane w jakichś znanych frameworkach, okazuje się, że większość znanych stron jest napisana strukturalnie lub na własnych autorskich rozwiązaniach.
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 19:47