Пример #1
0
 /**
  * @param string $name
  * @return Package
  */
 public function get($name)
 {
     if (!isset($this->cached[$name])) {
         $path = Utils::getClassPath($name);
         $fullClassName = Utils::getFullClassName($name);
         $package = new Package($name);
         $builder = new PackageBuilder();
         $this->cached[$name] = $package;
         $builder->setup($package);
         if (!is_file($path) || !is_readable($path)) {
             throw new \Exception("Can't load file '{$path}'");
         }
         /** @noinspection PhpIncludeInspection */
         require_once $path;
         /** @noinspection PhpUndefinedMethodInspection */
         $fullClassName::get($builder);
     }
     return $this->cached[$name];
 }
Пример #2
0
 public function test_getFullClassName_PackagePasses()
 {
     $this->assertEquals(Utils::COMPILED_CLASSES_NAMESPACE . '\\' . Utils::PACKAGE_CLASS_NAME_PREFIX . 'a_b', Utils::getFullClassName(new Package('a/b')));
 }