![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 67 Pomógł: 0 Dołączył: 9.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
Czy można bezproblemowo umieszczać wyjątki w klasie? np. przy połączeniu z bazą danych? Czy nie powinno raczej się tego robić? Np. taki przykład
Ten post edytował Matado 18.05.2009, 13:38:10 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 2 Dołączył: 17.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
NIe ma żadnej przeszkody w umieszczaniu try-catch wewnątrz klasy. Ale istnieje wygodniejsza wersja:
W takim wypadku możesz swobodnie korzystać z wyjątków w wszystkich funkcjach wywołanych w try, bez potrzeby powtarzania try i catch. Ten post edytował Procesor 18.05.2009, 13:47:50 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 67 Pomógł: 0 Dołączył: 9.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
Ok. Chciałbym się jeszcze o coś jeszcze zapytać. Czy macie jakiś sposób, żeby skrócić długość if'a przy sprawdzaniu czy formularz został wypełniony? Chodzi o empty() . Bo jak formularz ma długą nazwę to strasznie się wydłuża cały if. Podoba mi się rozwiazanie z frameworka Kohany. Wystarczy wpisać if ($this->input->post() i jest, a tu strasznie się if wydłuża.
Ten post edytował Matado 18.05.2009, 13:47:33 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 2 Dołączył: 17.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
Możesz napisać funkcje sprawdzającą wszystkie zmienne przekazane z formularza i zwracającą true w wypadku gdy wszystkie dane z formularza są wypełnione.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Cytat Ale istnieje wygodniejsza wersja: Jak może być wygodniejsza, skoro z założenia jej celem jest co innego.A co do tego czy będzie potrzebował bloku try-catch wewnątrz czy na zewnątrz klasy to już sam zadecyduje, w zależności od tego czego oczekuje. Co do walidacji. Polecałbym zobaczyć jak problem walidacji danych z formularzy rozwiązano np. w popularnych frameworkach i napisać własny system (ew. skorzystać z już istniejących) który przejąby całą obsługę walidacji, bo jest to chyba najbardziej irytująca część pracy w przypadku tworzenia aplikacji. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 2 Dołączył: 17.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
Pisząc "wygodniejsza" miałem na myśli pracę z throw, bo powtarzanie wewnątrz klasy 100 razy bloku try-catch w takim wypadku nie jest zbytnio wydajne.
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 67 Pomógł: 0 Dołączył: 9.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za odpowiedzi. Zobaczę jak w Kohanie to jest zrobione. A co do wyjątku to będzie tylko raz użyty.
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 2 Dołączył: 17.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
No to w takim wypadku jak mówisz, jednak lepiej użyć try/catch wewnątrz klasy.
Ten post edytował Procesor 18.05.2009, 14:13:26 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Jeżeli z góry zakłada, że nie chce obsłużyć wyjątków PDO to poprostu nie obsługuje ich w obiekcie:
Nie ma potrzeby rzucania jeszcze własnych wyjątków. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 15:11 |