29 lines
		
	
	
	
		
			586 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
	
		
			586 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| namespace Civi\Test\CiviEnvBuilder;
 | |
| class CallbackStep implements StepInterface {
 | |
|   private $callback;
 | |
|   private $sig;
 | |
| 
 | |
|   /**
 | |
|    * CallbackStep constructor.
 | |
|    * @param $callback
 | |
|    * @param $sig
 | |
|    */
 | |
|   public function __construct($callback, $sig = NULL) {
 | |
|     $this->callback = $callback;
 | |
|     $this->sig = $sig === NULL ? md5(var_export($callback, 1)) : $sig;
 | |
|   }
 | |
| 
 | |
|   public function getSig() {
 | |
|     return $this->sig;
 | |
|   }
 | |
| 
 | |
|   public function isValid() {
 | |
|     return is_callable($this->callback);
 | |
|   }
 | |
| 
 | |
|   public function run($ctx) {
 | |
|     call_user_func($this->callback, $ctx);
 | |
|   }
 | |
| 
 | |
| }
 |