<?php
Class ObjectPool
{
private $objectPool = array();
private $object;
public function __construct($object)
{
$this->object = $object;
}
public function release()
{
$this->objectPool[] = $this->object;
}
public function get()
{
if (count($this->objectPool) > 0) {
return array_pop($objectPool);
}
return new $this->object;
}
}
Class Test
{
public $id = 1;
}
$pool = new ObjectPool('Test');
$testWorker = $pool->get();
$testWorker2 = $pool->get();
var_dump($testWorker);
var_dump($testWorker2);
Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
object(Test)#2 (1) {
["id"]=>
int(1)
}
object(Test)#3 (1) {
["id"]=>
int(1)
}