Преглед изворни кода

Make ArrayRepository more extensible

Jordi Boggiano пре 14 година
родитељ
комит
2475ce47e4
1 измењених фајлова са 12 додато и 1 уклоњено
  1. 12 1
      src/Composer/Repository/ArrayRepository.php

+ 12 - 1
src/Composer/Repository/ArrayRepository.php

@@ -21,7 +21,7 @@ use Composer\Package\PackageInterface;
  */
 class ArrayRepository implements RepositoryInterface
 {
-    protected $packages = array();
+    protected $packages;
 
     /**
      * Adds a new package to the repository
@@ -41,6 +41,9 @@ class ArrayRepository implements RepositoryInterface
      */
     public function getPackages()
     {
+        if (null === $this->packages) {
+            $this->initialize();
+        }
         return $this->packages;
     }
 
@@ -53,4 +56,12 @@ class ArrayRepository implements RepositoryInterface
     {
         return count($this->packages);
     }
+
+    /**
+     * Initializes the packages array. Mostly meant as an extension point.
+     */
+    protected function initialize()
+    {
+        $this->packages = array();
+    }
 }