Wyjatki i style, pytanie koncepcyjne |
Wyjatki i style, pytanie koncepcyjne |
17.06.2017, 20:32:19
Post
#1
|
|
Grupa: Zarejestrowani Postów: 111 Pomógł: 1 Dołączył: 24.12.2013 Ostrzeżenie: (0%) |
Czesc,
Chcialem napisac wlasna klase obslugi wyjatkow i zastanawia mnie 1 kwestia. Zalozmy, ze podczas wczytywania strony wystapil nieprzechwycony wyjatek, moj ExceptionHandler go zlapal i wypadalo by w tym miejscu wyswietlic jakas strone z bledem i zakonczyc wykonywanie skryptu. Pytanie rozchodzi sie o ta strone z bledem. Czy wyjatki powinny miec wlasna strone z bledem, na ktorej ew. bylyby jakies informacje do debuggowania, czy moze w tym miejscu powinienem skorzystac z jakiegos systemu templete jak np Smarty i wyswietlic dokladnie taka sama strone jak w przypadku kazdego innego bledu, z tym wyjatkiem, ze bylby to np blad 500 zamiast 404? Jak byscie podeszli do problemu? |
|
|
17.06.2017, 20:39:18
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 457 Pomógł: 6297 Dołączył: 27.12.2004 |
Problem z OOP nie ma zadnego zwiazku. Przenosze.
ps: miejze litosc, tylko nie smarty... Jak juz bardzo chcesz uzywac jakiegos gotowego systemu szablonow to chociaz uzyj Twig ps2: czy ja dobrze rozumiem, ze cala strona nie uzywa smarty ale specjalnie dla wyjatkow chcesz dodac smarty? pogielo? -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
17.06.2017, 20:48:22
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 838 Pomógł: 226 Dołączył: 20.03.2005 Skąd: Będzin Ostrzeżenie: (0%) |
Wg mnie, forma i ilość danych powinna zależeć od strony jaką się prowadzi. Bo jeżeli jest to błąd który ma znaczenie z powodów bezpieczeństwa serwisu lub danych użytkowników to wysłanie nagłówka 500 jest na miejscu, jeżeli nie wystarczy komunikat o błędzie, nawet nie musi to być błąd braku strony.
A co do formy. Zrzucając logi, można dodawać do nich krótki HASH, który dalej powinien też być wyświetlony użytkowniku, aby mógł go wysłać do administracji w celu szybkiego z identyfikowania problemu który szczegółowo jest zapisany w logach. @Nospor Napisał przykładowo Smarty, chociaż pewnie użyłby w praktyce, gdybyś mu nie powiedział o tym |
|
|
17.06.2017, 20:51:26
Post
#4
|
|
Grupa: Zarejestrowani Postów: 111 Pomógł: 1 Dołączył: 24.12.2013 Ostrzeżenie: (0%) |
Zle zrozumiales ;-)
Smarty jest przykladem - moze to byc rownie dobrze Opt czy wspomniany Twig. Takiego systemu template-ow chce uzywac na calej stronie - zarowno dla frontendu, jak i backendu. Chcialem takze zrobic w nim customizowalne strony bledow np dla 404, 403 itp. Pomyslalem, ze fajnie byloby to ujednolicic i w przypadku jakiegos wyjatku - wyswietlic dokladnie taka sama strone ale np z bledem 500. Oznaczaloby to, ze exception handler musialby stworzyc obiekt (np przytoczonego Twiga) i wyswietlic odpowiednia strone z bledem. Zastanawiam sie czy takie rozwiazanie ma sens i co sadzicie o takim pomysle? Obecnie do glowy przchodzi mi jedynie problem kiedy styl nie zostanie znaleziony, ale wyobrazam sobie ze taki wyjatek bedzie przechwycony a wykonywanie skryptu zakonczone chociazby za pomoca die(). @Tomplus: tez o tym myslalem. Mam nawet taka metode, ktora generuje i zwraca ID wykonania skryptu. Jest on logowany, moze byc rowniez wyswietlony uzytkownikowi - zarowno przy wyjatku jak i kazdym innym bledzie - w koncu wystapienie bledu 404 tez nie zawsze musi byc oczywiste
Ten post edytował q.michal 17.06.2017, 20:54:47 |
|
|
18.06.2017, 08:38:27
Post
#5
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) |
Ładne strony błędów są w modzie O ile 404 powinno być maksymalnie szybkie jak to tylko możliwe o tyle pozostałe można olać. Choć inne kody niczym w sumie nie będą się różniły od 404 poza kodem.
Równie dobrze możesz zrobić statyczne pliki html z prostą zawartością |
|
|
18.06.2017, 09:45:14
Post
#6
|
|
Grupa: Zarejestrowani Postów: 111 Pomógł: 1 Dołączył: 24.12.2013 Ostrzeżenie: (0%) |
No wlasnie chodzi o to, ze chcialbym tam dodatkowo wyswietlic jakis backtrace itp (ale zeby nie bylo, tylko kiedy bedzie wlaczone debuggowanie).
Z tego wzgledu nie chcialbym dawac statycznych stron. Z drugiej strony chcialbym dac mozliwosc zmiany wygladu tych stron. |
|
|
18.06.2017, 10:18:30
Post
#7
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) |
No to możesz zaaplikować np: https://filp.github.io/whoops/
|
|
|
18.06.2017, 17:39:00
Post
#8
|
|
Grupa: Zarejestrowani Postów: 111 Pomógł: 1 Dołączył: 24.12.2013 Ostrzeżenie: (0%) |
Wiem, znam ;-)
Whoops ma wlasne style, czyli cos przeciwnego do tego co chcialbym osiagnac. Prawde mowiac nie widzialem nigdzie aby wyjatki korzystaly ze styli, wiec chcialem 'skonsultowac' taka mozliwosc - czy nie niesie za soba jakis przykrych kosenwecji, ktorych nie jestem swiadom. Chyba ze rozwiazalibyscie to w inny sposob. |
|
|
18.06.2017, 18:18:31
Post
#9
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) |
Whoops w PrettyPageHandler ma metodę `addResourcePath()` w której możesz podać własne ścieżki do szablonów.
Dzięki temu możesz wygląd dostosować do swoich potrzeb. Przeanalizuj sobie tą metodę: https://github.com/filp/whoops/blob/master/...andler.php#L150 Ten post edytował Pyton_000 18.06.2017, 18:18:59 |
|
|
Wersja Lo-Fi | Aktualny czas: 28.04.2024 - 11:18 |