From 8d2bfa5c102a19c076e14dc975a45b972a17f712 Mon Sep 17 00:00:00 2001 From: Meik Sievertsen Date: Sun, 23 Sep 2007 14:14:49 +0000 Subject: ok... i seem to have overlooked the handy __CLASS__ constant. ;) git-svn-id: file:///svn/phpbb/trunk@8106 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/docs/hook_system.html | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'phpBB/docs/hook_system.html') diff --git a/phpBB/docs/hook_system.html b/phpBB/docs/hook_system.html index 2bcffe3458..2aab028a78 100644 --- a/phpBB/docs/hook_system.html +++ b/phpBB/docs/hook_system.html @@ -434,11 +434,11 @@ class my_hookable_object { global $phpbb_hook; - if ($phpbb_hook->call_hook(array(get_class($this), __FUNCTION__), $my_first_parameter, $my_second_parameter)) + if ($phpbb_hook->call_hook(array(__CLASS__, __FUNCTION__), $my_first_parameter, $my_second_parameter)) { - if ($phpbb_hook->hook_return(array(get_class($this), __FUNCTION__))) + if ($phpbb_hook->hook_return(array(__CLASS__, __FUNCTION__))) { - return $phpbb_hook->hook_return_result(array(get_class($this), __FUNCTION__)); + return $phpbb_hook->hook_return_result(array(__CLASS__, __FUNCTION__)); } } @@ -447,7 +447,7 @@ class my_hookable_object } -

The only difference about calling it is the way you define the first parameter. For a function it is only __FUNCTION__, for a method it is array(get_class($this), __FUNCTION__). Since PHP 5.0.0 the get_class() function no longer requires the object to be given, you simply write: array(get_class(), __FUNCTION__).

+

The only difference about calling it is the way you define the first parameter. For a function it is only __FUNCTION__, for a method it is array(__CLASS__, __FUNCTION__). In PHP4 __CLASS__ is always returning the class in lowercase.

Now, in phpBB there are some pre-defined hooks available, but how do you make your own hookable function available (and therefore allowing others to hook into it)? For this, there is the add_hook() method:

@@ -579,11 +579,11 @@ class my_hookable_object2 extends my_hookable_object { global $phpbb_hook; - if ($phpbb_hook->call_hook(array(get_class($this), __FUNCTION__), $my_first_parameter, $my_second_parameter)) + if ($phpbb_hook->call_hook(array(__CLASS__, __FUNCTION__), $my_first_parameter, $my_second_parameter)) { - if ($phpbb_hook->hook_return(array(get_class($this), __FUNCTION__))) + if ($phpbb_hook->hook_return(array(__CLASS__, __FUNCTION__))) { - return $phpbb_hook->hook_return_result(array(get_class($this), __FUNCTION__)); + return $phpbb_hook->hook_return_result(array(__CLASS__, __FUNCTION__)); } } } @@ -636,11 +636,11 @@ class my_hookable_object2 extends my_hookable_object { global $phpbb_hook; - if ($phpbb_hook->call_hook(array(get_class($this), __FUNCTION__), $my_first_parameter, $my_second_parameter)) + if ($phpbb_hook->call_hook(array(__CLASS__, __FUNCTION__), $my_first_parameter, $my_second_parameter)) { - if ($phpbb_hook->hook_return(array(get_class($this), __FUNCTION__))) + if ($phpbb_hook->hook_return(array(__CLASS__, __FUNCTION__))) { - return $phpbb_hook->hook_return_result(array(get_class($this), __FUNCTION__)); + return $phpbb_hook->hook_return_result(array(__CLASS__, __FUNCTION__)); } } } -- cgit v1.2.1