Senior Member
PHP въпрос
За съжаление съм гол и бос в РНР-то и ще съм много благодарен ако някой може да каже каква ще е разликата между удебеления код в долната функция ако е записан по единия или другия начин.
function query() {
global $mosConfig_debug;
if ($this->_debug) {
$this->_ticker++;
$this->_log[] = $this->_sql;
}
$this->_errorNum = 0;
$this->_errorMsg = '';
$this->_cursor = mysql_query( $this->_sql, $this->_resource );
if (!$this->_cursor) {
$this->_errorNum = mysql_errno( $this->_resource );
$this->_errorMsg = mysql_error( $this->_resource )." SQL=$this->_sql";
<font color="red">//оригинал (който всъщност се оказва, че не работи много добре)</font id="red"> if (trigger_error( mysql_error( $this->_resource ), E_USER_NOTICE ) && $mosConfig_debug) {
echo "<pre>" . $this->_sql . "</pre>\n";
}
if ($this->_debug && function_exists( 'debug_backtrace' ) ) {
foreach( debug_backtrace() as $back) {
if (@$back['file']) {
echo '<br />'.$back['file'].':'.$back['line'];
}
}
}
return false;
}
return $this->_cursor;
}
<font color="red">//поправен вариант</font id="red"> if (@trigger_error( @mysql_error( $this->_resource ), E_USER_NOTICE ) && $mosConfig_debug) {
echo "<pre>" . $this->_sql . "</pre>\n";
Добавени са само "@" на някои места. Какво е тяхното значение?
Голямо благодарско [ ]
PHP въпрос
Това (@) е оператор за контрол на грешките - грешка възникнала във функцията не се взема предвид. Повече информация ето тук: http://bg2.php.net/manual/en/languag...rorcontrol.php
С други думи е добавен "exception handling" - т.е нещо като try catch
Member
PHP въпрос
@hsiliev Как ме изпревари само!
Горе