Использование анонимной функции для переопределения поведения класса, на примере псевдо 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>'; });