Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как лучше обращаться к несуществующей переменной?
 
 автор: itica   (19.02.2012 в 13:05)   письмо автору
 
 

Довольно часто возникает потребность проверить существование той или иной переменной, или вывести значение переменной, причём не важно, существует она или нет. Например при создании форм нужно прописать value, которое если пользователь повторно отправляет форму было уже заполнено предыдущим значением, а если заново - то пусто.

Конечно, можно в таких случаях предварительно дёргать isset() или empty(), но не слишком ли это напряжно для PHP? Возможно легче просто писать if($tmp) для проверки существования или value="<?=$tmp;?>" в формах, а чтобы не возникало предупреждений глушить их @.

Или же стоит ещё как-то обрабатывать подобные ситуации?

  Ответить  
 
 автор: cheops   (19.02.2012 в 13:09)   письмо автору
 
   для: itica   (19.02.2012 в 13:05)
 

>а чтобы не возникало предупреждений глушить их @.
Можно обойтись таким вызовом в начале скрипта, а то потом будет довольно сложно "разглушить" скрипт
<?php
  error_reporting
(E_ALL & ~E_NOTICE); 
?>

>Или же стоит ещё как-то обрабатывать подобные ситуации?
Принимайте решение самостоятельно. Это слаботипизированный язык, который снабдили костылем в виде Notice - использовать его или нет, целиком ваше решение. Вы разработчик, а это инструмент. Только имейте в виду, что тренд - усиление типизации. Зачем сначала нужно было делать слаботипизированный язык, чтобы на протяжении десяти лет усиливать типизацию для меня самого загадка. Вернее зачем нужна сильная типизация я отлично понимаю, зачем они нужны именно сейчас тоже вопросов не вызывает - проекты укрупняются... Но лучше такие вещи сразу вводить, а не постепенно. Слишком тернистым получается путь, а синтаксис и логика разработки здорово страдают.

  Ответить  
 
 автор: itica   (20.02.2012 в 01:29)   письмо автору
 
   для: cheops   (19.02.2012 в 13:09)
 

Вообще я категорически против глушения даже предупреждений. Типизацию вводят, но сколько её ещё будут вводить? Процесс ведь может и на 10 лет растянуться... а может и на год-два, поэтому как делать, чтобы в случае чего приложение было актуально для свежих версий языка не знаю. Хотя это наверное и нормально.

  Ответить  
 
 автор: cheops   (20.02.2012 в 12:05)   письмо автору
 
   для: itica   (20.02.2012 в 01:29)
 

Тогда используйте isset() - это не сильно напрягает PHP.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования