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

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

Drakon

Новичок
$ и @ как операторы

Наткнулся на такой код в phpBB:

Код:
 while( list($var, $param) = @each($strip_var_list) )
	{
		if ( !empty($HTTP_POST_VARS[$param]) )
		{
			$$var = trim(htmlspecialchars($HTTP_POST_VARS[$param]));
		}
	}
Никогда не видел в доке к PHP таких примеров использования @ и $$... Что тут делается - понятно... Но phpBB писался под старые версии PHP, поэтому видимо эта фишка есть в PHP уже давно.
Кто-нить подскажет где можно почитать подробно про эти и аналогичные возможности?
 

Фанат

oncle terrible
Команда форума
Drakon
самое смешное, что оба этих оператора нафиг не нужны, а только вредят.
тяжкое наследие трудного детства.
@ не нужна, поскольку весь вывод ошибок можно отключить одной строчкой, а вместо $$ гораздо удобнее использовать массив
 

Drakon

Новичок
Прочитал про переменные переменные... Тоже считаю, что удобнее использовать массивы... Да и нагляднее как-то.
 

partizan

Новичок
Автор оригинала: *****

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

PHP:
<input type="text" name="login" value=<?=@$login?>>
Если переменная "login" определена - она выведется в значении инпута, если нет - будет пусто

-~{}~ 09.08.07 12:14:

Собака ставится в том месте, где я сознательно использую переменную, которая может быть не определена.

Но если будет ошибка в другом месте - ее я должен буду увидеть
 

HraKK

Мудак
Команда форума
Нуи дурак. Самостоятельно генерируешь ошибку.
Такое как isset для тебя является новостью?

-~{}~ 09.08.07 11:46:

А не ты кажется вдвойне дурак, ты еще и register_globals on используешь верно?
 

partizan

Новичок
Автор оригинала: HraKK
А не ты кажется вдвойне дурак, ты еще и register_globals on используешь верно?
Твой дар ясновидящего тебя подвел, не использую

-~{}~ 09.08.07 13:07:

И чем запиcь
PHP:
<?=@$login?>
хуже записи
PHP:
<?= isset($login) ? $login : ''?>
?
 

tf

крылья рулят
ну вот, сначало тут один герой ходил, предлогал свою библиотеку с @$flag['flag']
потом обиделся что на ты с ним разговоривали и ушел
теперь толпа правоверных набежала и будут учить писать плошной код с
@
@$b=5
помоему это оффтопик или скорее всего мусор а не как не "Вопросы по программированию на РНР"
 

NetRat

Новичок
Хуже тем, что теряется наглядность, что в свою очередь ведет к ошибкам. Это не правильно с точки зрения философии php.
Если ваш проект будет иметь десятки тысяч строк кода и команда из нескольких программистов, то вас ждет тупик или разработка с нуля
 

litvinenko

Новичок
использование "собаки" по мне недопустимо.
По сути, может быть конечно и громко будет сказано, но теряется некий контроль за приложением. Имхо лучше в таких местах делать проверку, а не тупо скрывать возможные ошибки.
 

tf

крылья рулят
partizan, освойте пожалосто ФАК на сайте, а потом хвалитесь своим кодом и учите других!
 

Angerslave

Новичок
А вот недавно возникла задача проверить правильность ссылки... Мне было проще написать if (!@parse_url($url)... чем лезть за готовой регуляркой...
 

HraKK

Мудак
Команда форума
Проще не значит лучше.
Ошибки как минимум тормозят сайт, а во вторых не правильно.
Не обсуждается.
 

Angerslave

Новичок
HraKK, в том месте производительность некритична, а вот требования к скорости разработки порой вынуждают... Но вообще, конечно, нужно писать, учитывая все возможные ошибки... А ещё много чего нужно, только едва ли кто соблюдает ВСЕ "нужно"...
 

HraKK

Мудак
Команда форума
Angerslave
Пишите дальше свой говнокод, но не надо об этом говорить всем. Я например не говорю что у меня стулл жидкий.
 

Angerslave

Новичок
HraKK, по поводу жидкого стула сочуствую, но мы тут несколько другую проблему обсуждаем. Если Вам нечего сказать - идите дальше по своим делам... Возможно, в прямом смысле.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху