$ и @ как операторы

Статус
В этой теме нельзя размещать новые ответы.

SiMM

Новичок
> Мне было проще написать if (!@parse_url($url)
А можно привести хотя бы одно значение переменной $url, при которой функция parse_url будет выдавать сообщение об ошибке?
 

Духовность™

Продвинутый новичок
Автор оригинала: partizan
А если не нужно отключать все ошибки, а только в конкретном месте?
Например я часто делаю так:

PHP:
<input type="text" name="login" value=<?=@$login?>>
чудовищно просто.

главный аргумент - "работает, и ладно".

partizan а тебе мысля в голову не приходила, что гораздо понятнее будет программа, если $login определять в случае её отсутствия?
 

cDLEON

Онанист РНРСlub
Кто мне расскажет, почему когда я использую @ - это тормоз?
Ведь в конце разработки проекта там переключается error_reporting(E_ERROR);
Почему любой из вас считает быдло-кодерством?
ПС. *****, не можешь обосновать, не три чужие посты.
 

Духовность™

Продвинутый новичок
Почему любой из вас считает быдло-кодерством?
теперь по русски.

тебе 20 человек объясняют, что использовать собаку - плохо. это плохой стиль, это создаёт тяжелоотлавливаемые глюки. Ман:

Все выражения РНР могут также вызываться с префиксом "@", который отключает сообщения об ошибках для данного конкретного выражения. Если ошибка возникает в ходе вычисления такого выражения и track_errors включена, вы можете найти сообщение об ошибке в глобальной переменной $php_errormsg.
ключевое предложение я выделил. Собака просто ОТКЛЮЧАЕТ сообщение ОБ ОШИБКЕ. У тебя есть понимание, что значит ошибка? @ - это не конструкция языка, возвращающая null или величину, это вспомогательный инструмент для отладки, который есть смысл использовать в совершенно в других контекстах. например:

PHP:
if ($fop = fopen($params['filename'], 'a'))
{
	flock($fop, LOCK_EX);
	@fwrite($fop, $new_word."\n");
	flock($fop, LOCK_UN);
	fclose($fop);
}
 

cDLEON

Онанист РНРСlub
triumvirat
Есть, только какие тяжело отлавлимые глюки может вызвать попытка закрытия уже закрытого сокета socket_close (кстати матюкается если тот сокет уже закрыт), проверка вроде
if(@$_POST['edit']) вместо if(isset($_POST['edit']) (это так...к примеру) ?
 

Духовность™

Продвинутый новичок
if(isset($_POST['edit']))

или

if(!empty($_POST['edit']))

куда лучше

if(@$_POST['edit'])

- явно видно, на что проверяется переменная.
 

HraKK

Мудак
Команда форума
cDLEON
Чем - @ отключает ВЫВОД ошибки, а в лог апача в масив и тд, все сохраняет, в общем запускает механизм exeption.

triumvirat
Ошибся !empty сгенерирует ошибку. И вообще лучше помолчи =)

Angerslave
Что ты хочешь услышать ? ДА ЮЗАЙ ТОЛЬКО ОТСТАНЬ ОТ НАС?
Поздравляю услышал.А теперь идешь быстренько-быстренько по своим делам, ага? Очень быстро.
 

cDLEON

Онанист РНРСlub
HraKK
Я знаю, что делает она. Мне непонятно зачем перед fwrite ставить её. и как отлаживать.
А если вы по поводу моего ответа, то посмею заметить только во время отладки используется error_reporting(E_ALL);
позже - всё это дело отключается.
Так что я не вижу в каком месте это быдлокодерство.
 

HraKK

Мудак
Команда форума
cDLEON
Ппц, не пугай меня.

Кто мне расскажет, почему когда я использую @ - это тормоз?
@ отключает ВЫВОД ошибки, а в лог апача в масив и тд, все сохраняет, в общем запускает механизм exeption.
-~{}~ 09.08.07 15:25:

Так что я не вижу в каком месте это быдлокодерство.
В том что ты Сам делаешь своими руками сознательно ошибку, это для тебя нормально? Это не говнокод?
 

cDLEON

Онанист РНРСlub
HraKK
Это ты меня не пугай. Я же говорю, что после отладки генерация всех ошибок(путём error_reporting(E_ERROR)) кроме фаталок отключается.

-~{}~ 09.08.07 16:28:

В том что ты Сам делаешь своими руками сознательно ошибку, это для тебя нормально? Это не говнокод?
Я ведь не блокирую как тот человек fwrite. А я блочу только нотайсы всякие, которые при отладке мне нафиг не нужны, а после отладки всё равно генерироваться не будут)
 

HraKK

Мудак
Команда форума
cDLEON
Почему их надо блочить, а не устранять?
 

cDLEON

Онанист РНРСlub
Ну я не говорю, что их "надо" блочить!!!
Я говорю, что для экономии своего времени можно пользоваться и ни какой это не тормоз....
 

HraKK

Мудак
Команда форума
Я понял что ты меешь ввиду. Вернее isset, а !empty нужно совместно с isset юзать
isset&&!empty
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху