PHP и значения по умолчанию.

Для того, чтобы присваивать в PHP переменным значения по умолчанию, я испокон веков использую следующую конструкцию:

isset($var) or $var = 'default';

Где, вместо $var подставляется ваша переменная, а вместо 'default' — значение, которое будет присвоено переменной, если она не определена.

Вообще я довольно широко использую «and» и «or», например, если мне надо выполнить вторую функцию, только если первая вернула «1» или «TRUE», я использую конструкцию

Check1($var) and Check2($var);

Наверное, сказывается влияние языка Perl — он мне привил любовь к языковым конструкциям.

17 августа 2003 13:46

Улитка (инкогнито)
17 августа 2003, 17:03

А у меня сказывается Java. Всё в скобках.
Хотя твои варианты мне нравятся, изящные штучки.

pavel (инкогнито)
17 августа 2003, 18:02

а разве это не все так делают? :-)

bolk (bolknote.ru)
17 августа 2003, 18:02, ответ предназначен pavel

Неа :)

codex (инкогнито)
17 августа 2003, 21:42

Это говорит о хорошем стиле программирования, имхо :)

bolk (bolknote.ru)
17 августа 2003, 21:42, ответ предназначен codex

Наверное :)

Ktulhu (инкогнито)
18 августа 2003, 00:09

чесслово, это плохой стиль программирования, но часто ловишся на подобные конструкции.

bolk (bolknote.ru)
18 августа 2003, 00:09, ответ предназначен Ktulhu

Плохой? Почему?

kukutz (инкогнито)
18 августа 2003, 07:11

Для того, чтобы присваивать в PHP переменным значения по умолчанию, я испокон веков использую следующую конструкцию:

function name ($variable = «default»)

=)

bolk (bolknote.ru)
18 августа 2003, 07:11, ответ предназначен kukutz

Это в функциях.

Ktulhu (инкогнито)
19 августа 2003, 00:11

Влияние Perl как write only языка. В данном случае еще куда ни шло, но вообще в последнее время я стараюсь избегать хитростей без необходимости. Код должен быть доступен к пониманию другими людьми а не только мной.

bolk (bolknote.ru)
19 августа 2003, 00:11, ответ предназначен Ktulhu

Перл далеко не write only. Просто write на нём надо уметь.

sergeante (инкогнито)
21 ноября 2003, 09:52

>isset($var) or $var = ’default’;
if (!isset($var)) $var = ’default’;
>Check1($var) and Check2($var);
if (Check1($var)) Check2($var);

Имхо, так всёже понятней. А на твоём варианте мозг спотыкается и пытается преобразовать выражение в борее читаемы вид. Хотя, всё дело привычки.

bolk (bolknote.ru)
21 ноября 2003, 09:52, ответ предназначен sergeante

Дело привычки. Надо уметь читать язык, на котором пишешь.

Ваше имя или адрес блога (можно OpenID):

Текст вашего комментария, не HTML:

Кому бы вы хотели ответить (или кликните на его аватару)