query: php:IO4FallbackContainerClient.php result: Found object: php:IO4FallbackContainerClient.php status: Information available name: Remote PSR-11 Container Client description: Remote PSR-11 Container Client description: (https://startdir.de/install/?source=IO4FallbackContainerClient.php). description: Example: description:   description: 1. Container Server: description: autoloading(); description: description: class IO4FallbackContainer description: { description: protected $container; description: public function __construct(?array $definitions = [], description: ?array $options = []){ description: $class = \Webfan\Webfat\App\ContainerCollection::class; description: $this->container= new $class(array_merge([], description: $definitions), description: description: array_merge(['onFalseGet'=>\IO4\Container\ContainerCollectionInterface::NULL_ONERROR,], description: $options)['onFalseGet'], description: description: array_merge(['callId'=>\IO4\Container\ContainerCollectionInterface::CALL_ID,], description: $options)['callId']); description: } description: description: description: public function containerGetHas($method='has', $id) description: { description: $args = func_get_args(); description: array_shift($args); description: if('has'===$method){ description: return description: \call_user_func_array([$this,'container'.ucfirst($method)],$args); description: }elseif('get'===$method){ description: return description: \call_user_func_array([$this,'container'.ucfirst($method)],$args); description: }else{ description: return description: \call_user_func_array([$this,'container'.ucfirst($method)],$args); description: } description: } description: protected function containerGet($id) description: { description: description: switch($id){ description: //case 'test id 123 from: ' : description: // $r = true; description: //break; description: default: description: return $this->container->get($id); description: break; description: } description: description: } description: description: protected function containerHas($id) description: { description: $r = false; description: switch($id){ description: // case 'test id 123 from: ' : description: // $r = true; description: // break; description: default: description: $r = $this->container->has($id); description: break; description: } description: return ['has'=>$r]; description: } description: } description: description: (static function () : void { description: $server = new Server(); description: //$server->setClass('Foo', 'FooServiceInterface'); // my description: FooServiceInterface implementation description: $server->setClass(new IO4FallbackContainer([ description: 'test id 123 from: '=> description: [function(\Psr\Container\ContainerInterface $container, description: $previous = null) { description: return ['message'=>' from remote ', description: //'keycount'=>count($this->container->getKnownEntryNames()), description: 'keycount'=>0, description: 'isContainer'=>isset($container), description: ]; description: }, 'factory'], description: ]), IO4FallbackContainer::class); description: $server->setReturnResponse(false); description: $server->handle(); description: })(); description: description: }//ns description: 2. Container Server Client (from webfats stub Default description: Container): description: autoloading(); description: $StubRunner->autoUpdateStub(); description: description: (static function ($StubRunner) : void { description: try { description: description: var_dump($StubRunner->getAsContainer(null)->get('test id description: 123 from: ')); // bar remote ! description: } catch description: (\Laminas\Http\Client\Adapter\Exception\RuntimeException description: $error) { description: echo $error->getMessage(); description: exit(2); description: } description: description: })($StubRunner); description: 3. Download the index.php description: (https://raw.githubusercontent.com/frdlweb/webfat/main/public/index.php) description: required in the examples above. description:   description: Uses Transforms... (?goto=php%3AWebfan%5CTransform) url: https://webfan.de/apps/registry/?goto=php%3AIO4FallbackContainerClient.php canonical-identifier: oid:1.3.6.1.4.1.37476.30.9.1494410075.1755740575 alternate-identifier: aid:D276000186B200055912E35B68A6799F alternate-identifier: guid:5912e35b-4c62-8000-a6f0-27b67cfbf275 alternate-identifier: mac:D2-1F-68-A6-79-9F alternate-identifier: mac:D3-1F-68-A6-79-9F alternate-identifier: oid:1.3.6.1.4.1.37476.30.9.1494410075.1755740575 alternate-identifier: oid:1.3.6.1.4.1.37476.30.9.1494410075.1755740575 alternate-identifier: x500dn:/dc=com/dc=example/cn=oidplus/1.3.6.1.4.1.37476.2.5.2.9.4.1=1494410075/1.3.6.1.4.1.37476.2.5.2.9.4.2=1755740575 created: 2023-07-15 22:42:10 updated: 2023-09-17 20:52:40 ra: Frdlweb Software ra-status: Information available ra-email: software@frdl.de ra-created: 2021-09-30 00:36:40 % -----BEGIN RSA SIGNATURE----- % BmVkYjtf9VbQmPfoDYFOOe21odJjFhMLXZefw5xaJTEKqmtcbQ4QJ/X0ENBn9vcRivFcHgtnxieq4+ % rYxt7ciTsYzYQ2Y/5ir7zhcbaazN3DjPVyWxHqxRgmjxFQYtGqUuslOshiDLQDL1erXcwTIfjXocd1 % jvp3Tol27NcJ9lmgVdjPkcDShmwVkJfq3JyAY+xURN6qRf/u/E+AA78Z22++waC3kORrVnpavLfgox % x3e0MS09uPXRxFky90cEqP8BGjbkmWJHPVHdd5c/QfBfKHDpaePA2VWJ4GbwCVGY9/4eh+D+hbDHXZ % ieMhf0vStpDhl7127Qs7IrD4OgeW2g== % -----END RSA SIGNATURE-----