Core PHP

Using Callback Functions And Methods

This is an example PHP program that demonstrates how to call functions, instance methods, and class methods as callbacks in PHP.

UsingCallbackFunctionsAndMethods.php

<?php

// Function callbacks
function FunctionOne() {
  echo '<p>FunctionOne</p>';
}

function FunctionTwo() {
  echo '<p>FunctionTwo</p>';
}

// Class with method callbacks
class CMethods {
  public $msaaCallbacks = ['MethodOne', 'MethodTwo'];

  public function __construct() {}

  public function MethodOne($sFromWhere) {
    echo '<p>MethodOne from '.$sFromWhere.'</p>';
  }
  public function MethodTwo($sFromWhere) {
    echo '<p>MethodTwo from '.$sFromWhere.'</p>';
  }
  public function CallMethods() {
    foreach($this->msaaCallbacks as $sMethod) {
	  $this->$sMethod('$this');
    }
  }

  static public $ssaaStaticCallbacks = ['StaticOne', 'StaticTwo'];
  static public function StaticOne($sFromWhere) {
    echo '<p>StaticOne from '.$sFromWhere.'</p>';
  }
  static public function StaticTwo($sFromWhere) {
    echo '<p>StaticTwo from '.$sFromWhere.'</p>';
  }
  static public function CallStaticMethods() {
    foreach(self::$ssaaStaticCallbacks as $sStaticMethod) {
	  self::$sStaticMethod('self');
    }
  }
}

// Ordinary functions as callbacks
$saaCallbackFunctions = ['FunctionOne', 'FunctionTwo'];
foreach($saaCallbackFunctions as $sFunction) {
  $sFunction();
}

// Instance methods via this
$qMethods = new CMethods();
$qMethods->CallMethods();

// Instance methods foreach
foreach($qMethods->msaaCallbacks as $sMethod) {
  $qMethods->$sMethod('$qMethods');
}

// Static methods via self
CMethods::CallStaticMethods();

// Static methods via foreach
foreach(CMethods::$ssaaStaticCallbacks as $sStaticMethod) {
  CMethods::$sStaticMethod('CMethods');
}

?>
 

Output

 
 

© 2007–2024 XoaX.net LLC. All rights reserved.