mirror of
https://github.com/DesignPatternsPHP/DesignPatternsPHP.git
synced 2025-06-01 03:25:00 +02:00
31 lines
466 B
PHP
31 lines
466 B
PHP
<?php
|
|
|
|
namespace DesignPatterns\Pool;
|
|
|
|
class Pool
|
|
{
|
|
|
|
private $instances = array();
|
|
private $class;
|
|
|
|
public function __construct($class)
|
|
{
|
|
$this->class = $class;
|
|
}
|
|
|
|
public function get()
|
|
{
|
|
if (count($this->instances) > 0) {
|
|
return array_pop($this->instances);
|
|
}
|
|
|
|
return new $this->class();
|
|
}
|
|
|
|
public function dispose($instance)
|
|
{
|
|
$this->instances[] = $instance;
|
|
}
|
|
|
|
}
|