예제 #1
0
파일: Module.php 프로젝트: visor/nano
 /**
  * @return \Nano\Helper
  * @param string $name
  *
  * @throws \Nano\Exception\HelperNotFound
  */
 protected function search($name)
 {
     $className = \Nano\Names::helperClass($name, $this->module);
     $classPath = \Nano\Names::moduleFile($className);
     if (!$this->application->loader->loadFileWithClass($className, $classPath)) {
         throw new \Nano\Exception\HelperNotFound($name, $this->module);
     }
     return new $className();
 }
예제 #2
0
파일: HelperBroker.php 프로젝트: visor/nano
 /**
  * @return \Nano\Helper
  * @param string $name
  *
  * @throws \Nano\Exception\HelperNotFound
  */
 protected function search($name)
 {
     $className = \Nano\Names::helperClass($name);
     if (class_exists($className, false)) {
         return $className;
     }
     $classPath = \Nano\Names::applicationFile($className);
     if (!\Nano::app()->loader->loadFileWithClass($className, $classPath)) {
         throw new \Nano\Exception\HelperNotFound($name);
     }
     return new $className();
 }
예제 #3
0
파일: NamesTest.php 프로젝트: visor/nano
 public function testUsingHelperAdditionalNamespaceWithModuleNamespace()
 {
     self::assertEquals('Module\\Test\\Helper\\News\\Backend', \Nano\Names::helperClass('news/backend', 'test'));
 }