Make ArrayRepository more extensible
parent
c6321e7277
commit
2475ce47e4
|
@ -21,7 +21,7 @@ use Composer\Package\PackageInterface;
|
||||||
*/
|
*/
|
||||||
class ArrayRepository implements RepositoryInterface
|
class ArrayRepository implements RepositoryInterface
|
||||||
{
|
{
|
||||||
protected $packages = array();
|
protected $packages;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adds a new package to the repository
|
* Adds a new package to the repository
|
||||||
|
@ -41,6 +41,9 @@ class ArrayRepository implements RepositoryInterface
|
||||||
*/
|
*/
|
||||||
public function getPackages()
|
public function getPackages()
|
||||||
{
|
{
|
||||||
|
if (null === $this->packages) {
|
||||||
|
$this->initialize();
|
||||||
|
}
|
||||||
return $this->packages;
|
return $this->packages;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -53,4 +56,12 @@ class ArrayRepository implements RepositoryInterface
|
||||||
{
|
{
|
||||||
return count($this->packages);
|
return count($this->packages);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Initializes the packages array. Mostly meant as an extension point.
|
||||||
|
*/
|
||||||
|
protected function initialize()
|
||||||
|
{
|
||||||
|
$this->packages = array();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue