красивые синтаксич. конструкции

Gas

может по одной?
красивые синтаксич. конструкции

Прывет.

Сегодня где-то в форуме увидел совет вместо
$mas=mysql_fetch_array($result);
$id=$mas['id'];

и т.д.
делать
extract(mysql_fetch_array($result));
и чуть не обосрался от такой красоты. А то я всю жись юзал
list($id,...)=mysql_fetch_row($result);


Так вот, кто использует еще что-нибудь "ЭТАКОЕ", просьба написать в целях повышения skill'a.
 

AnToXa

prodigy-одаренный ребенок
1. в extract есть опасность примерно как в register_globals
2. не наглядно

поэтому считю эту конструкцию "плохой" и использовать не буду (чего, впрочем, раньше и не делал :) )

мне например травится вот такая конструкция дл инсерта в базу

PHP:
$db->query("insert into $table(". implode(", ", array_keys($data)) .") values (".implode("', '", array_values($data)).")");
где массив $data получен как данные из формы и из него удалены все ключи, которые не надо вставлять в базу, для этого есть еще объект-фильтр
 

Gas

может по одной?
1. не наглядно - согласен.

2. насчет опасности не понятно, может объяснишь?

3. list($id,....)=mysql_fetch_row($result); - лажа али нет?

Твоя конструкция хороша, базара нема.
 

AnToXa

prodigy-одаренный ребенок
Хмм.. Если данные проверять перед записью в БД то и extract(mysql_fetch_array($res)); безопасен ИМХО
если делать unset на всякие переменные, то register_globals тоже безопасны, как ты понимаешь :)

2. насчет опасности не понятно, может объяснишь?
почитай чем грозят register_globals
 

Gas

может по одной?
2 AnToXa

И все-же, чем безопаснее:
$mas=mysql_fetch_array($result);
$id=$mas['id'];

по сравнению c extract(mysql_fetch_array($res));

Даже если register_globals=on значения из базы заменят те
значения, которые были переданы GET'ом или я не прав?
 

AnToXa

prodigy-одаренный ребенок
1. совсем не обязательно делать $id = $mas['id']; можно и прям обращение к массиву писать

2. заменят. а прикинь там login/password из базы, которые зарегистрированы в сессии и они перезапишутся!!!!
 

RomikChef

Guest
антоха, лично я использую и тот метод, и другой.
Когда я работаю с паролей - никакого экстракта.
да и два поля меня не ломает писать.
Когда же вывожу таблицу с кучей полей - токда экстракт очень даже к месту.
В РНР действительно много вкусностей и удобностей.
чего бы ими не пользоваться?
 

Gas

может по одной?
Ладно, с extract'ом все ясно. Спасибо.

Может кто еще какие приколы использует?
 

su1d

Старожил PHPClubа
Ну вот щас все кинутся приколы тебе вспоминать, чтобы ты крутью "своей" блястел по всем углам... Ты хочешь, чтобы тебе все тут быренько весь свой опыт выложили на блюдечке? =) хехе...
По-моему это как анекдоты: вспоминать бесполезно, когда понадобится - само всплывёт.
Можешь попредлагать разные ситуации, а тебе кто-нидь (кому ну совсем уж делать будет нечего), глядишь, и подскажет как это делается...
 

AnToXa

prodigy-одаренный ребенок
может быть суид твой топик за отдельные деньги к себе в подпись поместит :))) видишь рекламу продает
 

Gas

может по одной?
Su1d
Блин, да не заставляю ж я силой всех слать сюда свои наработки. Вдруг кому не жалко пусть напишет. И я не говорю о супер алгоритмах над которыми страдали неделями, а о небольших фишках. Вот AnToXa , например, сразу вспомнил, спасобо тебе, Брат.
 

HEm

Сетевой бобер
Например такие: <?=$var;?> вместо <? echo $var; ?>
мне лично тоже интересно, время от времени в форуме что-нить этакое увидишь, порадуешься ;)
 

AnToXa

prodigy-одаренный ребенок
кстати, еще одна потенциальная проблема в extract. прикинь завтра ты сделаешь alter table и одно из названий полей в таблице совпадет со счетчиком цикла какого-нибудь!
вот и бессонная ночь отладки
 

AnToXa

prodigy-одаренный ребенок
2 Gas ты действительно лучше конкретнее тему предложи, и тогда тута будет хороший такой флейм :)
 

Gas

может по одной?
Автор оригинала: AnToXa
кстати, еще одна потенциальная проблема в extract. прикинь завтра ты сделаешь alter table и одно из названий полей в таблице совпадет со счетчиком цикла какого-нибудь!
вот и бессонная ночь отладки
Да ладно, найти ошибку дело нескольких минут если скрипт не ОГРОМНЫЙ.

Конкретнее тему предложить не могу, т.к. это может быть что угодно, а если мне нужно что-то конкретное то я скорее всего сделаю сам и не буду задавать вопросов. Просто если кто вспомнит что интересное (обычные вещи, но сделаные нестандартно) пусть чиркнет если не в лом.
 
Сверху