Exemple #1
0
 function testGlobalChainRegistry()
 {
     $query = new Mock\QueryChain(true);
     \qtil\Chain\ClassRegistry::addNamespace('qtil\\Tests\\Mock\\QueryChain', 'qtil\\Tests\\Mock\\ExtendedQueryChain');
     $query->Select()->From()->Join();
     $count = count($query->getLinks());
     $this->assertEquals(3, $count);
 }
Exemple #2
0
 /**
  * Retrieves full class path from chain link name
  * @param mixed $object
  * @param string $name
  * @return string
  */
 public static function getQualifiedName($object, $name, $suffix = null)
 {
     $chainNamespaces = array_merge(self::getNamespaces($object), ClassRegistry::getNamespaces($object));
     //var_dump(ClassRegistry::getNamespaces($object));
     foreach ($chainNamespaces as $chainNamespace) {
         $qualifiedNames = [];
         if (is_null($suffix)) {
             $suffix = '';
         }
         $qualifiedNames[] = $chainNamespace . '\\' . $name . $suffix;
         $qualifiedNames[] = $chainNamespace . '\\' . ucfirst($name) . $suffix;
         foreach ($qualifiedNames as $qname) {
             if (class_exists($qname)) {
                 return $qname;
             }
         }
     }
 }
Exemple #3
0
function extend($namespace)
{
    \qtil\Chain\ClassRegistry::addNamespace('filtratr\\Query', $namespace);
}