Использование анонимной функции для переопределения поведения класса, на примере псевдо MVC.
Простой пример использования лямбда функций на php
		 14.03.2019	
     
<?php
  class soMVC
  {
    /**
    * Proto Model:GetData
    * 
    * @return array
    */
    protected function _Model_GetData() 
    {
      return range(1, 20);
    }
    /**
    * Proto View:GetReander
    * 
    * @param array $aData
    * 
    * @return string
    */
    protected function _View_Reander($aData) 
    {
      $sRet = '';
      foreach($aData as $sText)
      {
        $sRet .= '<div>'.$sText.'</div>';
      }
      return $sRet;
    }
    /**
    * Main
    * 
    * @param callback $function
    * 
    * @return string
    */
    public function dispatch($function = NULL) 
    {
      $aData = $this->_Model_GetInfo();
      if ($function)
      {
        return $function($aData);
      }
      else
      {
        return $this->_View_Reander($aData, $function);
      }
    }
  }
  $oMVC = new soMVC();
  echo $oMVC->dispatch(function($aData){
    $sRet = '<ul>';
    foreach($aData as $sText)
    {
      $sRet .= '<li>'.$sText.'</li>';
    }
    return $sRet.'</ul>';
  });