|
TYPO3 API
SVNRelease
|
00001 <?php 00002 /*************************************************************** 00003 * Copyright notice 00004 * 00005 * (c) 2010-2011 Oliver Hader <oliver@typo3.org> 00006 * All rights reserved 00007 * 00008 * This script is part of the TYPO3 project. The TYPO3 project is 00009 * free software; you can redistribute it and/or modify 00010 * it under the terms of the GNU General Public License as published by 00011 * the Free Software Foundation; either version 2 of the License, or 00012 * (at your option) any later version. 00013 * 00014 * The GNU General Public License can be found at 00015 * http://www.gnu.org/copyleft/gpl.html. 00016 * A copy is found in the textfile GPL.txt and important notices to the license 00017 * from the author is found in LICENSE.txt distributed with these scripts. 00018 * 00019 * 00020 * This script is distributed in the hope that it will be useful, 00021 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00022 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00023 * GNU General Public License for more details. 00024 * 00025 * This copyright notice MUST APPEAR in all copies of the script! 00026 ***************************************************************/ 00027 00028 /** 00029 * Object to hold information on a callback to a defined object and method. 00030 */ 00031 class t3lib_utility_Dependency_Callback { 00032 /** 00033 * @var object 00034 */ 00035 protected $object; 00036 00037 /** 00038 * @var string 00039 */ 00040 protected $method; 00041 00042 /** 00043 * @var array 00044 */ 00045 protected $targetArguments; 00046 00047 /** 00048 * Creates the objects. 00049 * 00050 * @param object $object 00051 * @param string $method 00052 * @param array $targetArguments (optional) 00053 */ 00054 public function __construct($object, $method, array $targetArguments = array()) { 00055 $this->object = $object; 00056 $this->method = $method; 00057 $this->targetArguments = $targetArguments; 00058 $this->targetArguments['target'] = $object; 00059 } 00060 00061 /** 00062 * Executes the callback. 00063 * 00064 * @param array $callerArguments 00065 * @param object $caller 00066 * @param string $eventName 00067 * @return mixed 00068 */ 00069 public function execute(array $callerArguments = array(), $caller, $eventName) { 00070 return call_user_func_array( 00071 array($this->object, $this->method), 00072 array($callerArguments, $this->targetArguments, $caller, $eventName) 00073 ); 00074 } 00075 }
1.8.0