![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 29 Pomógł: 0 Dołączył: 5.09.2002 Skąd: Gliwice/Radomsko/Szczepocice Ostrzeżenie: (0%) ![]() ![]() |
Stworzyłem funkcję obsługującą błędy. Przekazuję ją do set_error_handler() i jest ok, ale kiedy zrobiłem z niej konstruktor w klasie przy jej wywołaniu wyskakuje mi błąd o braku parametrów.
[php:1:6ec379e474]<?php class error { var $error_name; var $error_msg; var $error_file; var $error_line; function error($error_name, $error_msg, $error_file, $error_line) { //prints error information print("<br><center><table bgcolor="#B1B1B1" border="0" width="100%"><tr><td><b>BŁĄD:</b> ".$error_msg); print("<br><br>Proszę spróbować ponownie lub skontaktować się z administratorem."); print("<br>Lokalizacja błędu: linia ".$error_line.", plik ".$error_file); //if error is fatal stops all script and shows information if($error_name == E_USER_ERROR || $error_name == E_ERROR) { print("<br><br>Błąd krytyczny, zakończenie programu.</td></tr></table></center>"); exit; } print("</td></tr></table></center><br>"); } } new error; set_error_handler("error"); ?>[/php:1:6ec379e474] |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 96 Pomógł: 3 Dołączył: 15.04.2003 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Czy przypadkiem na dole nie powinno być
[php:1:4103e68539]<?php $err = new error; $err->set_error_handler("error"); ?>[/php:1:4103e68539] -------------------- Linux is like wigwam, no windows, no gates and an apache inside.
Mój blog łebmasterski (po angielsku) Web Development Blog. |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 115 Pomógł: 0 Dołączył: 3.05.2003 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Witam!!
bo konstruktor wymaga podania argumentow: new error($arg1, $arg2, $arg3, $arg4); ... -------------------- pozdrawiam bamboos
http://piorun.ds.pg.gda.pl/~ronek/log/jedyne.wma |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 29 Pomógł: 0 Dołączył: 5.09.2002 Skąd: Gliwice/Radomsko/Szczepocice Ostrzeżenie: (0%) ![]() ![]() |
Cytat Czy przypadkiem na dole nie powinno być
[php:1:7f915850ce]<?php $err = new error; $err->set_error_handler("error"); ?>[/php:1:7f915850ce] Nie, bo wtedy musiałaby być utworzona operacja set_error_handler w klasie, a ty chodzi o to żeby utworzona przeze mnie klasa została ustawiona jako domyślna do osbsługi błędów. Argumentów w tej funkcji nie trzeba podawać, php samo je wstawia, jeśli w kodzie wystąpią błędy. Gdybym z tej operacji zrobił funkcję 'error' i napisał set_error_handler("error"); bez argumentów byłoby ok. Problem w tym że chce żeby to była klasa nie funkcja. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 680 Pomógł: 0 Dołączył: 1.10.2002 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Mylisz chyba pojęcia...
Jeśli konstruktor ma podane argumenty, to muszą być podane i nie ma na to rady - chyba, że podasz domyślne wartości... Zresztą konstruktor w takiej formie to jedna wielka pomyłka, a zwłaszcza wypisywanie czegokolwiek na ekran. -------------------- "Czerp z innych, ale nie kopiuj ich. Bądź sobą." Michel Quoist
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 07:10 |