Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Перехватить warning в include 
:(
    Опции темы
SneG0K
Дата 17.12.2009, 08:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Max Mara
***


Профиль
Группа: Завсегдатай
Сообщений: 1887
Регистрация: 1.12.2007
Где: Wis Dells

Репутация: 7
Всего: 54



Так, вызываю include(), он посылает с ошибкой и на этом все заканчивается. Есть ли способ проверить, отработал ли include() или отослал?

PM WWW Skype   Вверх
lelik133
Дата 17.12.2009, 09:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Awaiting Authorisation
Сообщений: 517
Регистрация: 5.2.2003
Где: Москва

Репутация: 5
Всего: 14



пример из мануала
Код

if ((include 'vars.php') == 'OK') {
    echo 'OK';
}


у меня не заработал

заработал такой вариант
Код


if ((include 'vars.php') == TRUE) {
    echo 'OK';
}
else{
    echo 'NO';
}


если проверить что возвращает include
Код

$a=include 'vars.php';
var_dump($a);

то видно что возвращает 1 или  FALSE
PM ICQ   Вверх
Ипатьев
Дата 17.12.2009, 09:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



только что это обсуждали smile
отлавливать  warning нельзя. 
надо делать так, чтобы его не было.


PM MAIL   Вверх
gta4kv
Дата 17.12.2009, 11:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Walking around mad.
***


Профиль
Группа: Завсегдатай
Сообщений: 1868
Регистрация: 25.7.2006

Репутация: 21
Всего: 91



Основая проблема, когда может не сработать include, это — file doesn't exists, для проверки этого есть чудо функция file_exists().

Это сообщение отредактировал(а) gta4kv - 17.12.2009, 11:07
PM MAIL   Вверх
Ипатьев
Дата 17.12.2009, 12:19 (ссылка) |  (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



по-хорошему, инклюды не надо проверять вовсе.
чудо-функция file_exists нужна, на самом деле, очень редко.
надо писать так, чтобы код при нормальной работе не выдавал ошибок


PM MAIL   Вверх
nerezus
Дата 17.12.2009, 15:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: 12
Всего: 43



SneG0K, используй require, обеспечь 100% наличие файла и сделай так, чтобы warning'ов не было.


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
SneG0K
Дата 17.12.2009, 18:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Max Mara
***


Профиль
Группа: Завсегдатай
Сообщений: 1887
Регистрация: 1.12.2007
Где: Wis Dells

Репутация: 7
Всего: 54



nerezus, есть класс, в который я передаю массив модулей, которые нужно подключить. И проверку я делаю для того, чтобы "авось модуль был написан криво" не было.

lelik133, спасибо.


gta4kv, как бы да, но зачем делать лишних телодвижений: проверять существование, потом подключать, если легче проверить, отработ ли инклуд.
PM WWW Skype   Вверх
sTa1kEr
Дата 17.12.2009, 18:43 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


9/10 программиста
***


Профиль
Группа: Завсегдатай
Сообщений: 1553
Регистрация: 21.2.2007

Репутация: 56
Всего: 146



Цитата(SneG0K @  17.12.2009,  19:36 Найти цитируемый пост)
И проверку я делаю для того, чтобы "авось модуль был написан криво" не было.

Цитата(SneG0K @  17.12.2009,  19:36 Найти цитируемый пост)
gta4kv, как бы да, но зачем делать лишних телодвижений: проверять существование, потом подключать, если легче проверить, отработ ли инклуд. 

Это из серии:
Цитата

 - Как проверить существует ли база данных?
 - if (mysql_query('DROP DATABASE '.$table)) echo "Да, такая база действительно существовала...";

 smile 

Это сообщение отредактировал(а) sTa1kEr - 17.12.2009, 18:44
PM MAIL   Вверх
SneG0K
Дата 17.12.2009, 19:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Max Mara
***


Профиль
Группа: Завсегдатай
Сообщений: 1887
Регистрация: 1.12.2007
Где: Wis Dells

Репутация: 7
Всего: 54



Как тогда надо?
PM WWW Skype   Вверх
Ипатьев
Дата 17.12.2009, 19:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



Интересно, что в задаче нигде не указано, что речь идет о существовании файла.
Туманное "отработал или отослал" я бы, скорее, отнес с коду внутри инклюда.
PM MAIL   Вверх
Simpliest
Дата 17.12.2009, 20:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 625
Регистрация: 1.9.2009

Репутация: 1
Всего: 3



Цитата(SneG0K @  17.12.2009,  18:14 Найти цитируемый пост)
Как тогда надо? 

Например вот так

http://ua2.php.net/manual/en/function.php-check-syntax.php


--------------------
user posted image
PM   Вверх
Ипатьев
Дата 17.12.2009, 21:13 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



а при чем здесь это? неверный синтаксис, во-первых, вызывает далеко не warning
а во-вторых, откуда бы ему взяться неверному синтаксису?

и втретьих, рекомендую почитать, что там написано
PM MAIL   Вверх
SneG0K
Дата 17.12.2009, 21:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Max Mara
***


Профиль
Группа: Завсегдатай
Сообщений: 1887
Регистрация: 1.12.2007
Где: Wis Dells

Репутация: 7
Всего: 54



Ипатьев, кстати, многоуровневая проверка меня тоже интересует. Но это уже при загрузке плагина.

Добавлено через 1 минуту и 40 секунд
Цитата(Ипатьев @  17.12.2009,  20:13 Найти цитируемый пост)
а во-вторых, откуда бы ему взяться неверному синтаксису?

вы даже не представляете, что может взяться в плагине от стороннего разработчика.
PM WWW Skype   Вверх
gta4kv
Дата 17.12.2009, 21:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Walking around mad.
***


Профиль
Группа: Завсегдатай
Сообщений: 1868
Регистрация: 25.7.2006

Репутация: 21
Всего: 91



Цитата(Simpliest @ 17.12.2009,  20:51)
Цитата(SneG0K @  17.12.2009,  18:14 Найти цитируемый пост)
Как тогда надо? 

Например вот так

http://ua2.php.net/manual/en/function.php-check-syntax.php

Цитата

Note: For technical reasons, this function is deprecated and removed from PHP. 

PM MAIL   Вверх
SneG0K
Дата 17.12.2009, 22:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Max Mara
***


Профиль
Группа: Завсегдатай
Сообщений: 1887
Регистрация: 1.12.2007
Где: Wis Dells

Репутация: 7
Всего: 54



gta4kv,  smile 
PM WWW Skype   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0574 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.