From 8351404ee1698076192317fd39f093c1f52bf48f Mon Sep 17 00:00:00 2001 From: Andrey Andreev Date: Thu, 6 Mar 2014 00:28:55 +0200 Subject: Add support for simpler (Callable) hooks (issue #2917) --- user_guide_src/source/changelog.rst | 1 + user_guide_src/source/general/hooks.rst | 10 +++++++++- 2 files changed, 10 insertions(+), 1 deletion(-) (limited to 'user_guide_src') diff --git a/user_guide_src/source/changelog.rst b/user_guide_src/source/changelog.rst index a2250dfda..423755b89 100644 --- a/user_guide_src/source/changelog.rst +++ b/user_guide_src/source/changelog.rst @@ -509,6 +509,7 @@ Release Date: Not Released - :doc:`Hooks Library ` changes include: + - Added support for closure hooks (or anything that ``is_callable()`` returns TRUE for). - Renamed method ``_call_hook()`` to ``call_hook()``. - Class instances are now stored in order to maintain their state. diff --git a/user_guide_src/source/general/hooks.rst b/user_guide_src/source/general/hooks.rst index 1046c48ae..ffe3fef39 100644 --- a/user_guide_src/source/general/hooks.rst +++ b/user_guide_src/source/general/hooks.rst @@ -23,7 +23,7 @@ following item in the **application/config/config.php** file:: Defining a Hook =============== -Hooks are defined in **application/config/hooks.php** file. +Hooks are defined in the **application/config/hooks.php** file. Each hook is specified as an array with this prototype:: $hook['pre_controller'] = array( @@ -56,6 +56,14 @@ defined in your associative hook array: - **params** Any parameters you wish to pass to your script. This item is optional. +If you're running PHP 5.3+, you can also use lambda/anoymous functions +(or closures) as hooks, with a simpler syntax:: + + $hook['post_controller'] = function() + { + /* do something here */ + }; + Multiple Calls to the Same Hook =============================== -- cgit v1.2.3-24-g4f1b