Холиварка пыхыпешников (общая)

6.21K
.
The Fast, Secure and Professional - Yii2
# AlkatraZ (26.02.2015 / 18:51)
Ну, чем городить огород, намного проще насильно привести к строке: $var = "$var";
Но я не знаю, откуда у тебя берутся данные и зачем регулярка?
Допустим есть метод addSite(host, domain)

А вдруг тот кто будет им пользоваться передаст в host вместо строки массив, полетит всё к чертям. Я поставил проверку, если host или domain не строка выкидываем исключение. Как бы проблем нет, но красивее бы было в аргументе к методу задать тип String

addSite(String host, String domain)

Но увы, такой тип пока не поддерживается.
.
╭∩╮ (`-`) ╭∩╮
# Rakovskiy (26.02.2015 / 19:27)
А вдруг тот кто будет им пользоваться передаст в host вместо строки массив, полетит всё к чертям.
Ну и правильно.
А для чего существует PhpDoc где описываются все типы передаваемых параметров?

Если кто-то, кто попытается передать массив, настолько крут, чтоб игнорировать описания, надеюсь у него хватит крутизны, чтоб отлавливать ошибки в разрабатываемых скриптах. Передача вместо строки - массива, вызовет Runtime ошибку.

Не заморачивайся с этим, правильно пиши PhpDoc каменты и будет тебе счастье.
.
The Fast, Secure and Professional - Yii2
# AlkatraZ (26.02.2015 / 19:35)
Не заморачивайся с этим, правильно пиши PhpDoc каменты и будет тебе счастье.
PhpDoc пишу, но всё же хотелось бы окончательно застраховаться и выловить все-возможные ошибки...
.
(\/)____o_O____(\/)
# Rakovskiy (26.02.2015 / 19:21)
Ты имеешь ввиду типа этого?
[php]$site = ['site', 'ru'];
$text = 'Hello, welcome to my site_ru or site . ru';
echo preg_replace('#' . $site[0] . '(.?){1,3}' . $site[1] . '#ui', '*****', $text);[/ph
ага, типо того
.
(\/)____o_O____(\/)
Rakovskiy, на напиши уже в теле (string) $host
.
The Fast, Secure and Professional - Yii2
# Koenig (26.02.2015 / 20:12)
ага, типо того
Будет иногда случайные слова резать
.
The Fast, Secure and Professional - Yii2
# Koenig (26.02.2015 / 20:14)
Rakovskiy, на напиши уже в теле (string) $host
Notice: Array to string conversion

Да нафиг чёт мудрить, нет типа string для аргумента, запилю условие
.
# AlkatraZ (26.02.2015 / 19:35)
Ну и правильно.
А для чего существует PhpDoc где описываются все типы передаваемых параметров?

Если кто-то, кто попытается передать массив, настолько крут, чтоб игнорировать описания, надеюсь у не
ты злоумышленникам тоже будешь предлагать доку читать и не пихать бяку куда ее доком не прописали?
.
╭∩╮ (`-`) ╭∩╮
# ramzes (26.02.2015 / 23:01)
ты злоумышленникам тоже будешь предлагать доку читать и не пихать бяку куда ее доком не прописали?
Ну я не видел его скрипт, потому не могу судить о безопасности, да и вообще, что он там делает с той строкой и откуда она вообще берется.
Из формы, или из URL ?
.
The Frontend-Warrior
# Gaucer (26.02.2015 / 19:00)
Вмешаюсь не по теме.. зачем нужны тесты вроде понятно, а как выглядит тест?
http://habrahabr.ru/post/130086/
Всего: 308