3v4l.org

run code in 300+ PHP versions simultaneously
<?php class IdCardCreator { public function processRequests() { $input = [(object)['tid' => 1, 'facadeFn' => 'idcardcreator.checkLogin']]; $objectResponses = []; foreach ($input as $objectRequest) { $objectResponse = new stdClass(); $objectResponse->tid = $objectRequest->tid; if (isset($objectRequest->facadeFn) && preg_match('~^idcardcreator\.\K\w+$~', $objectRequest->facadeFn, $route) && method_exists($this, $route[0])) { $this->{$route[0]}($objectResponse); } else { $objectResponse->errorMsg = 'Aktion nicht gefunden!'; } $objectResponses[] = $objectResponse; } return $objectResponses; } public function checkLogin(&$objectResponse) { $objectResponse->data = 'something'; } // add all of your methods which are named by facadeFn's trailing term } $card = new IdCardCreator(); var_export($card->processRequests());
Output for 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.26, 8.4.1 - 8.4.13
array ( 0 => (object) array( 'tid' => 1, 'data' => 'something', ), )
Output for 7.1.0 - 7.1.33, 7.2.0 - 7.2.33
array ( 0 => stdClass::__set_state(array( 'tid' => 1, 'data' => 'something', )), )

preferences:
154.01 ms | 407 KiB | 5 Q