Ocena klasy router |
Ocena klasy router |
21.06.2013, 20:19:49
Post
#1
|
|
Grupa: Zarejestrowani Postów: 550 Pomógł: 75 Dołączył: 5.06.2012 Skąd: Lębork Ostrzeżenie: (0%) |
Witam,
od pewnego czasu kojarzę, że tak powiem OOP(znam mniej więcej zasady). Ostatnio postanowiłem napisać coś od podstaw, wybór padł na prostego frameworka. I tutaj pojawia się ten problem, że tworzę go raczej w formie edukacyjnych i potrzebuję opinii kogoś znającego się na rzeczy, czy idę w dobrą stronę Poniżej podaję kod klasy router, mającej zająć się otworzeniem odpowiedniej klasy oraz wywołania podanej metody.
Wszelka krytyka mile widziana PS: Brakuje jeszcze sprawdzenia czy podana metoda istniej, a w innym wypadku przekierowanie, ale postanowiłem zrobić to trochę później, kiedy ogólnie zajmę się błędami. Ten post edytował Wazniak96 21.06.2013, 20:22:41 |
|
|
21.06.2013, 20:49:23
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) |
1. Zadanie routera to zamiana ciągu wejściowego (najczęściej adresu URL) na parametry potrzebne do wywołania odpowiedniej akcji w aplikacji. Samo wywołanie akcji nie należy już do jego zadań. Dodatkowo router może robić jeszcze odwrotną operację, tj. na podstawie parametrów akcji generować URL.
2. Twój kod łamie podstawowe zasady OOP (patrz: trzy pierwsze punkty), zasadę pojedynczej odpowiedzialności, IoC czy ukierunkowania na interfejsy. Nieprzestrzeganie tych standardów właściwie niweluje cały pożytek z obiektówki. 3. Do obsługi błędów służą wyjątki, a od ładowania klas są autoloadery. |
|
|
27.06.2013, 12:53:45
Post
#3
|
|
Grupa: Zarejestrowani Postów: 550 Pomógł: 75 Dołączył: 5.06.2012 Skąd: Lębork Ostrzeżenie: (0%) |
Sorki, że tak trochę nie drążyłem tematu ale byłem trochę zalatany, że tak powiem, mniejsza o to.
1. Da się zrobić. 2. Okej, przeczytałem na ten temat i wiem na czym polegają moje błędy, ale teraz jak przenieść to na tą klasę? Jak abstrakcję, polimorfizm oraz dziedziczenie wykorzystać? Z tego punktu wygląda na to, że lepiej byłoby zamienić ją na zbiór funkcji.. 3. Poczytam-zrobię. Tak jak pisałem, tworzę tego frameworka dla celów edukacyjnych, ale nie wszystko na raz. Ten post edytował Wazniak96 27.06.2013, 12:57:06 |
|
|
27.06.2013, 13:10:25
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) |
Pisanie w celach edukacyjnych jest jak najbardziej OK, ale trzeba mieć na start jakieś obeznanie w temacie. Wygląda na to, że go nie posiadasz dlatego powinieneś raczej skupić się na wykorzystaniu i zrozumieniu działania istniejących rozwiązań - dużo szybciej i solidniej nauczysz się masy rzeczy na tym etapie. W dodatku w nieporównywalnie krótszym czasie. Tutaj zasugerowałbym wykorzystanie Symfony, bo jako jeden z niewielu PHP-owych "fullstack webframeworków" solidnie realizuje drugi punkt z mojej listy.
Ten post edytował Crozin 27.06.2013, 13:11:12 |
|
|
27.06.2013, 13:19:33
Post
#5
|
|
Grupa: Zarejestrowani Postów: 550 Pomógł: 75 Dołączył: 5.06.2012 Skąd: Lębork Ostrzeżenie: (0%) |
Szczerze mówiąc bawiłem się już trochę w CodeIgniter i całkiem dobrze się pracowało. Za Symfony wolałbym się na razie nie zabierać bo obawiam się, że go nie ogarnę.
W każdym razie dzięki za pomoc i mądrą radę |
|
|
27.06.2013, 14:03:13
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) |
CI to wyjątkowo słaby FW jeżeli chodzi o OOP. SF czy inny "rozbudowany" FW na pewno może sprawić na początku nieco problemów, ale żadne z nich nie są nie do przejścia.
|
|
|
27.06.2013, 21:27:03
Post
#7
|
|
Grupa: Zarejestrowani Postów: 550 Pomógł: 75 Dołączył: 5.06.2012 Skąd: Lębork Ostrzeżenie: (0%) |
Hmm... Dobrze wiedzieć. Pisząc powyższą klasę wzorowałem się na CI, ale jak widać nie wszylo za dobrze.
Jeszcze takie jedno pytanko. Co byłoby najlepiej spróbować na początek napisać w Symfony? |
|
|
27.06.2013, 22:43:11
Post
#8
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) |
Cytat Co byłoby najlepiej spróbować na początek napisać w Symfony? Obojętnie co. Może to być standardowy blog czy inna strona-wizytówka. Chociaż wg mnie najlepiej zrobić sobie klona jakiejś istniejącej "nieszablonowej" strony.
|
|
|
28.06.2013, 00:24:49
Post
#9
|
|
Grupa: Zarejestrowani Postów: 550 Pomógł: 75 Dołączył: 5.06.2012 Skąd: Lębork Ostrzeżenie: (0%) |
Okej, jeszcze raz wielkie dzięki za pomoc
Ten post edytował Wazniak96 28.06.2013, 00:25:39 |
|
|
Wersja Lo-Fi | Aktualny czas: 28.04.2024 - 09:25 |