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

Форум PHP

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

 

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

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

тема: Зачем ставят собаку '@' перед функциями?
 
 автор: Giga   (10.09.2006 в 20:50)   письмо автору
 
 

Встречал довольно часто у других авторов. @file, @explode, @implode, ... Что это дает? Есть ли в этом смысл? Ведь функция работает и без этой собаки!

   
 
 автор: ec_stasis   (10.09.2006 в 21:39)   письмо автору
 
   для: Giga   (10.09.2006 в 20:50)
 

Это подавляет вывод ошибки, если она возникнет в ходе работы функции

   
 
 автор: cheops   (10.09.2006 в 21:40)   письмо автору
 
   для: Giga   (10.09.2006 в 20:50)
 

Это подавление ошибок, подробности в теме по ссылке http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=4389.

   
 
 автор: isset   (10.09.2006 в 22:20)   письмо автору
 
   для: Giga   (10.09.2006 в 20:50)
 

но стОит о ней забыть

   
 
 автор: name   (11.09.2006 в 00:42)   письмо автору
 
   для: isset   (10.09.2006 в 22:20)
 

Это почему?

   
 
 автор: PIXEL   (11.09.2006 в 00:49)   письмо автору
 
   для: Giga   (10.09.2006 в 20:50)
 

лучше не использовать этого
а проверять все возможные расклады

уже при публикации в интеренете подавить вывод всех ошибок error_reporting(0);
и читать логи

   
 
 автор: Unkind™   (11.09.2006 в 01:20)   письмо автору
 
   для: PIXEL   (11.09.2006 в 00:49)
 

Это не будет подавлять Fatal Error :))
Чтобы именно надписи об ошибках не отображались, то

<?php
ini_set
('display_errors''off');
?>

или в .htaccess:

php_value display_errors off

   
 
 автор: PIXEL   (11.09.2006 в 01:36)   письмо автору
 
   для: Unkind™   (11.09.2006 в 01:20)
 

мне кажется это не правильно так подавлять все в подрят
если уж фатальная ошибка то нужно безусловно выйти из программы

   
 
 автор: Giga   (11.09.2006 в 09:11)   письмо автору
 
   для: PIXEL   (11.09.2006 в 01:36)
 

Я тоже Error_Reporting применяю когда возникает проблема например undefined переменной включенной в сценарий. В остальных случаях рапорты о ошибках только помогают найти и исправить.

   
 
 автор: Loki   (11.09.2006 в 11:22)   письмо автору
 
   для: PIXEL   (11.09.2006 в 01:36)
 

Не всегда. Нарпимер, вот такой код:
<?
if ($file=file_get_contents($filename)) еcho "файл прочитан";
else 
"ошибка чтения файла";

Вывалит ошибку, даже несмотря на то, что проверку мы фактически сделали. Так что тут удобнее вывод системной ошибки подавить.

   
 
 автор: PIXEL   (11.09.2006 в 11:45)   письмо автору
 
   для: Loki   (11.09.2006 в 11:22)
 


<?
error_reporting
(0);
if (
$file=file_get_contents('net_faila'))
echo(
"файл прочитан");
else echo(
"ошибка чтения файла");
?>

появится только пользовательская ошибка, а системная будет невидима, и запишется только в лог

   
 
 автор: Loki   (11.09.2006 в 11:55)   письмо автору
 
   для: PIXEL   (11.09.2006 в 11:45)
 

Это если у вас файл состоит из трех строчек. А весь остальной код вы как планируете отлаживать с таком случае?

   
 
 автор: PIXEL   (11.09.2006 в 12:04)   письмо автору
 
   для: Loki   (11.09.2006 в 11:55)
 

отлаживать без строчки error_reporting(0);
а дописывать ее только перед заливкой на сервер

вообще до чтения я всегда проверяю его наличие

<?
if(file_exists(''))
{
}
else
{
}
?>

   
 
 автор: Loki   (11.09.2006 в 13:11)   письмо автору
 
   для: PIXEL   (11.09.2006 в 12:04)
 

а надо ли? если file_get_contents сделает это за вас.

   
 
 автор: isset   (11.09.2006 в 16:13)   письмо автору
 
   для: Loki   (11.09.2006 в 13:11)
 

надо

   
 
 автор: Unkind™   (11.09.2006 в 23:52)   письмо автору
 
   для: isset   (11.09.2006 в 16:13)
 

Тока для таких как я, наверное...:)) Люблю, когда все красиво в коде и чтобы ошибки не возникали при высоком уровне error_reporting) Но после всех проверок обязательно error_reporting(0); включаю, чтоб пользователи меньше видели. И выключаю показ ошибок вообще...

если уж фатальная ошибка то нужно безусловно выйти из программы
Не надо. Она сама за Вас выйдет ;)

   
 
 автор: Loki   (12.09.2006 в 11:04)   письмо автору
 
   для: isset   (11.09.2006 в 16:13)
 

>надо
А зачем? Код это увеличит, читаемость - снизит, а результат будет тот же (еще и вероятность ошибок возрастет).
И кстати, от моей конструкции вы все равно не уйдете.

   
Rambler's Top100
вверх

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