Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
 Аватар для dailydose
671 / 217 / 88
Регистрация: 21.07.2016
Сообщений: 1,036
Записей в блоге: 2

Как правильно сделать события ? CEventManager

10.06.2017, 16:25. Показов 629. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
почему в данном коде возникает эта ошибка?:
Warning: call_user_func() expects parameter 1 to be a valid callback, second array member is not a valid metod
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<?
 
class CEventManager
{
    protected $eventHandlers = array();
    
    protected function OnProlog()
    {
        echo '--OnProlog--<BR>';
        $this->CallHandlers("Prolog");
    }
    
    protected function OnEpilog()
    {
        $this->CallHandlers("Epilog");
        echo '<BR>--OnEpilog--';
    }
    
    protected function CallHandlers($event)
    {
        foreach ($this->eventHandlers as $type => $func)
        {
            if ($event == $type)
            {
                var_dump($func);
                call_user_func($func);
            }
        }
    }
    
    public function AddEventHandler($event, $func)
    {
        $this->eventHandlers[$event][] = $func;
    }
    
    public function Run()
    {
        echo '{<BR>';
        $this->OnProlog();
        
        echo '<BR>___CONTENT___<BR><BR>';
        
        $this->OnEpilog();
        echo '<BR>}';
    }
};
 
$eventManager = new CEventManager();
 
$ev1 = function() {echo 'ev1';};
$eventManager->AddEventHandler("Prolog", $ev1);
 
$ev1 = function() {echo 'ev1';};
$eventManager->AddEventHandler("Epilog", $ev1);
 
 
$eventManager->Run();
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
{
--OnProlog--
array(2) { [0]=> object(Closure)#2 (0) { } [1]=> object(Closure)#3 (0) { } } 
Warning: call_user_func() expects parameter 1 to be a valid callback, second array member is not a valid method in Z:\home\localhost\www\test.php on line 26
 
___CONTENT___
 
array(2) { [0]=> object(Closure)#2 (0) { } [1]=> object(Closure)#3 (0) { } } 
Warning: call_user_func() expects parameter 1 to be a valid callback, second array member is not a valid method in Z:\home\localhost\www\test.php on line 26
 
--OnEpilog--
}
но так успешно отрабатывает?:
PHP
1
2
$ev1 = function() {echo 'ev1';};
call_user_func($ev1);
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.06.2017, 16:25
Ответы с готовыми решениями:

Запустить ASP из события. Как правильно сделать?
Привет Есть примерно такой код, в котором не отрабатывается закоментированная строка. Как её правильно оформить? &lt;SCRIPT Language =...

Как это сделать правильно. повесить два события на Button1
Добрый вечер! Мне нужно что бы при нажатие кнопки Caption менялся на 'Соединиться' а при втором нажатии сменить Caption на 'Отключится' ...

Ожидание события. Как правильно?
Здравствуйте. Язык C#. (Проект не помню точно как создавал. Но что-то по умолчанию с формами и без излишеств.) Есть одна форма. На неё...

1
313 / 312 / 221
Регистрация: 11.07.2015
Сообщений: 1,107
20.06.2017, 20:27
expects = ожидается
parameter 1 = первый аргумент
to be a valid callback = будет работоспособной функцией
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.06.2017, 20:27
Помогаю со студенческими работами здесь

Как правильно удалять события
Как правильно удалять события в данном случае, ибо каждое добавленное событие сохраняется. Целесообразно ли использовать IDisposable и в...

Как правильно посчитать вероятность события?
Пытаюсь рассчитать вероятность выигрыша в одной лотерейке. Но не знаю, как это делать правильно. Для упрощения понимания - попытаюсь...

Как правильно сгенерировать события из формы?
Ладно... может кто-то подскажет, как С ViewData и ViewBag передавать данные? У меня есть 5 методов в HomeController: 3 из них возвращают...

Как правильно дублировать в actionscript 2.0 и как правильно сделать объект для дублирования
Я только начал изучать actionscript и прошу мне помочь. Как правильно дублировать в actionscript 2.0 и как правильно сделать объект для...

Как правильно удалять пустой обработчик события?
Очень нубский вопрос, я даблкликнул по NumericUpDown, хотел сделать реакцию на событие, в итоге передумал и когда я убираю эту заглушку...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru