[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Система хуков на ООП
morph-x
Подскажите пожалуйста, как организовать систему хуков на ООП?
Заранее большое спасибо!



Спустя 11 минут, 11 секунд (2.02.2012 - 01:54) caballero написал(а):
так же как и на не ООП.

Спустя 10 минут, 30 секунд (2.02.2012 - 02:04) m4a1fox написал(а):
И пожалуйста аперкот на ООП тоже покажите...

Спустя 15 минут, 35 секунд (2.02.2012 - 02:20) caballero написал(а):
Для флуда есть тема специальная - флейм

А вообще дикую систему хуков как в Друпале еше на ООП замесить. Предтавляю что будет

Спустя 29 минут, 27 секунд (2.02.2012 - 02:49) morph-x написал(а):
Цитата (caballero)
Для флуда есть тема специальная - флейм

Почему сразу флуд, что я такого написал?

Цитата (caballero)
А вообще дикую систему хуков как в Друпале еше на ООП замесить. Предтавляю что будет

Чем Вам Друпал не нравится? Хорошая система, гибкая. Не идеал конечно, но лучше некоторых.

Ну допустим сейчас есть у меня класс такой:
class Hooks {
private static $hooks;

public static function add($hook_name, $callback) {
if(is_string($hook_name) && is_callable($callback)) {
self::$hooks[$hook_name][] = $callback;
return true;
}
else {
return false;
}
}


public static function run($hook_name) {
if(is_array(self::$hooks[$hook_name])) {
foreach(self::$hooks[$hook_name] as $callback) {
call_user_func($callback);
}
return true;
}
else {
return false;
}
}
}

Может кто знает еще какие-то реализации? Я где-то видел что на файлах как-то делали, но уже забыл как. Просто хотел бы узнать как можно еще реализовать это.

Спустя 1 день, 15 часов, 11 минут, 54 секунды (3.02.2012 - 18:01) SlavaFr написал(а):
а что мешает просто вместо функции интерфейс использовать?
просто потом создаеш классы которые от этого интерфейса имплементиерованны и используеш их.




Спустя 26 минут, 12 секунд (3.02.2012 - 18:27) caballero написал(а):
На фига в ООП какие то хуки если там есть наследование с виртуальными функциями.
Но если хочешь хуков то то какая разница ООП или нет.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.