Функции Язык программирования PHP

hw_Document_Attributes

(PHP 3>= 3.0.3, PHP 4)

hw_Document_Attributes - запись объекта из hw_document.

Описание

string hw_document_attributes (int hw_document)

Возвращает запись объекта документа.

Для обеспечения совместимости принимается также hw_documentattributes(). Но это не рекомендуется.

См. также hw_document_bodytag() и hw_document_size().


Назад Оглавление Вперёд
hw_DocByAnchorObj Вверх hw_Document_BodyTag

Пример 15-1. Обработка ошибок в скриптах

<?php 
// делаем нашу собственную обработку ошибок error_reporting(0); // пользовательская 
функция обработки ошибок function userErrorHandler ($errno, $errmsg, $filename, 
$linenum, $vars) { // штамп времени для вхождения ошибки $dt = date("Y-m-d H:i:s 
(T)"); // определяем ассоциативный массив строки ошибки; // в реальности мы должны 
рассматривать только // 2,8,256,512 и 1024 $errortype = array ( 1 => "Error", 
2 => "Warning!", 4 => "Parsing Error", 8 => "Notice", 16 => "Core 
Error", 32 => "Core Warning!", 64 => "Compile Error", 128 => "Compile 
Warning!", 256 => "User Error", 512 => "User Warning!", 1024=> "User 
Notice" ); // установить ошибки, для которых vartrace будет сохраняться $user_errors 
= array(E_USER_ERROR, E_USER_WARNING, E_USER_NOTICE); $err = "<errorentry>\n"; 
$err .= "\t<datetime>".$dt."</datetime>\n"; $err .= "\t<errornum>".$errno."</errornum>\n"; 
$err .= "\t<errortype>".$errortype[$errno]."</errortype>\n"; $err 
.= "\t<errormsg>".$errmsg."</errormsg>\n"; $err .= "\t<scriptname>".$filename."</scriptname>\n"; 
$err .= "\t<scriptlinenum>".$linenum."</scriptlinenum>\n"; if 
(in_array($errno, $user_errors)) $err .= "\t<vartrace>".wddx_serialize_value($vars,"Variables")."</vartrace>\n"; 
$err .= "</errorentry>\n\n"; // для тестирования // echo $err; // сохранить 
в error log и e-mail, если имеется критическая пользовательская ошибка error_log($err, 
3, "/usr/local/php4/error.log"); if ($errno == E_USER_ERROR) mail("phpdev@example.com","Critical 
User Error",$err); } function distance ($vect1, $vect2) { if (!is_array($vect1) 
|| !is_array($vect2)) { trigger_error("Incorrect parameters, arrays expected", 
E_USER_ERROR); return NULL; } if (count($vect1) != count($vect2)) { trigger_error("Vectors 
need to be of the same size", E_USER_ERROR); return NULL; } for ($i=0; $i<count($vect1); 
$i++) { $c1 = $vect1[$i]; $c2 = $vect2[$i]; $d = 0.0; if (!is_numeric($c1)) { 
trigger_error("Coordinate $i in vector 1 is not a number, using zero", E_USER_WARNING); 
$c1 = 0.0; } if (!is_numeric($c2)) { trigger_error("Coordinate $i in vector 2 
is not a number, using zero", E_USER_WARNING); $c2 = 0.0; } $d += $c2*$c2 - $c1*$c1; 
} return sqrt($d); } $old_error_handler = set_error_handler("userErrorHandler"); 
// неопределённая константа, генерируется предупреждение $t = I_AM_NOT_DEFINED; 
// определяем некоторые "векторы" $a = array(2,3,"foo"); $b = array(5.5, 4.3, 
-1.6); $c = array (1,-3); // генерируется пользовательская ошибка $t1 = distance($c,$b)."\n"; 
// генерируется ещё одна пользовательская ошибка $t2 = distance($b,"i am not an 
array")."\n"; // генерируется предупреждение $t3 = distance($a,$b)."\n"; ?>