mirror of
https://github.com/DesignPatternsPHP/DesignPatternsPHP.git
synced 2025-02-24 01:32:22 +01:00
29 lines
471 B
PHP
29 lines
471 B
PHP
<?php
|
|
|
|
namespace DesignPatterns\Creational\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;
|
|
}
|
|
}
|