Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: set_error_handler и название функции в namespace

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
ivanm
Отправлено: 17 Марта, 2017 - 16:20:05
Post Id


Новичок


Покинул форум
Сообщений всего: 19
Дата рег-ции: Февр. 2013  


Помог: 0 раз(а)




Хочу перехватывать ошибки в свою функцию

только функция у меня подключается файлом и лежит там в нейспейсе:
PHP:
скопировать код в буфер обмена
  1. require_once 'functions/myfunctions';
  2. use \config\functions as functions;

если после этого обращаться к функции
PHP:
скопировать код в буфер обмена
  1. functions\myFunctionName($params);

то все работает.
А вот как прописать название этой функции в set_error_handler?
Вот так не получается:
PHP:
скопировать код в буфер обмена
  1. set_error_handler("functions\myFunctionName", E_ALL); // не работает
  2. set_error_handler("{functions\myFunctionName}", E_ALL); // тоже не работает
  3. set_error_handler('functions\myFunctionName', E_ALL); // ну не работает

как правильно записать??? оно ж в кавычках...

(Отредактировано автором: 17 Марта, 2017 - 16:23:21)

 
 Top
armancho7777777 Супермодератор
Отправлено: 18 Марта, 2017 - 22:29:12
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




PHP:
скопировать код в буфер обмена
  1. set_error_handler('\\config\\functions\\myFunctionName', E_ALL);
 
 Top
ivanm
Отправлено: 21 Марта, 2017 - 12:16:12
Post Id


Новичок


Покинул форум
Сообщений всего: 19
Дата рег-ции: Февр. 2013  


Помог: 0 раз(а)




БОЛЬШОЕ СПАСИБИЩЕ. Работает!
 
 Top
zypikov
Отправлено: 21 Марта, 2017 - 15:18:31
Post Id



Частый гость


Покинул форум
Сообщений всего: 219
Дата рег-ции: Нояб. 2010  


Помог: 3 раз(а)




armancho7777777 пишет:
PHP:
скопировать код в буфер обмена
  1. set_error_handler('\\config\\functions\\myFunctionName', E_ALL);


Т.е. функцию можно передать только через абсолютный путь из глобального пространства имен? Двойной слэш это экранирование?


-----
У всего есть обратная сторона.
 
 Top
armancho7777777 Супермодератор
Отправлено: 21 Марта, 2017 - 18:12:03
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




zypikov пишет:
Т.е. функцию можно передать только через абсолютный путь из глобального пространства имен?

Необходимо указывать абсолютное имя (функции, класса), когда используете в виде строки.

zypikov пишет:
Двойной слэш это экранирование?

А, гоню.
Экранировать надо только на конце, при конкатенации.
PHP:
скопировать код в буфер обмена
  1. $fn = 'myFunctionName';
  2. set_error_handler('\config\functions\\' . $fn, E_ALL);
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB