original_string: private function createCallableObjects()
      {
          // Create callable objects for registered classes
          foreach($this->aClassOptions as $sClassName => $aClassOptions)
          {
              if(!key_exists($sClassName, $this->aCallableObjects))
              {
                  $this->_getCallableObject($sClassName, $aClassOptions);
              }
          }
  
          // Create callable objects for registered namespaces
          $sDS = DIRECTORY_SEPARATOR;
          foreach($this->aNamespaceOptions as $sNamespace => $aOptions)
          {
              if(key_exists($sNamespace, $this->aNamespaces))
              {
                  continue;
              }
  
              $this->aNamespaces[$sNamespace] = $sNamespace;
  
              // Iterate on dir content
              $sDirectory = $aOptions['directory'];
              $itDir = new RecursiveDirectoryIterator($sDirectory);
              $itFile = new RecursiveIteratorIterator($itDir);
              foreach($itFile as $xFile)
              {
                  // skip everything except PHP files
                  if(!$xFile->isFile() || $xFile->getExtension() != 'php')
                  {
                      continue;
                  }
  
                  // Find the class path (the same as the class namespace)
                  $sClassPath = $sNamespace;
                  $sRelativePath = substr($xFile->getPath(), strlen($sDirectory));
                  $sRelativePath = trim(str_replace($sDS, '\\', $sRelativePath), '\\');
                  if($sRelativePath != '')
                  {
                      $sClassPath .= '\\' . $sRelativePath;
                  }
  
                  $this->aNamespaces[$sClassPath] = ['separator' => $aOptions['separator']];
                  $sClassName = $sClassPath . '\\' . $xFile->getBasename('.php');
  
                  if(!key_exists($sClassName, $this->aCallableObjects))
                  {
                      $aClassOptions = $this->getOptionsFromNamespace($sClassName, $sNamespace);
                      if($aClassOptions !== null)
                      {
                          $this->_getCallableObject($sClassName, $aClassOptions);
                      }
                  }
              }
          }
      }
code: private function createCallableObjects()
      {
          // Create callable objects for registered classes
          foreach($this->aClassOptions as $sClassName => $aClassOptions)
          {
              if(!key_exists($sClassName, $this->aCallableObjects))
              {
                  $this->_getCallableObject($sClassName, $aClassOptions);
              }
          }
  
          // Create callable objects for registered namespaces
          $sDS = DIRECTORY_SEPARATOR;
          foreach($this->aNamespaceOptions as $sNamespace => $aOptions)
          {
              if(key_exists($sNamespace, $this->aNamespaces))
              {
                  continue;
              }
  
              $this->aNamespaces[$sNamespace] = $sNamespace;
  
              // Iterate on dir content
              $sDirectory = $aOptions['directory'];
              $itDir = new RecursiveDirectoryIterator($sDirectory);
              $itFile = new RecursiveIteratorIterator($itDir);
              foreach($itFile as $xFile)
              {
                  // skip everything except PHP files
                  if(!$xFile->isFile() || $xFile->getExtension() != 'php')
                  {
                      continue;
                  }
  
                  // Find the class path (the same as the class namespace)
                  $sClassPath = $sNamespace;
                  $sRelativePath = substr($xFile->getPath(), strlen($sDirectory));
                  $sRelativePath = trim(str_replace($sDS, '\\', $sRelativePath), '\\');
                  if($sRelativePath != '')
                  {
                      $sClassPath .= '\\' . $sRelativePath;
                  }
  
                  $this->aNamespaces[$sClassPath] = ['separator' => $aOptions['separator']];
                  $sClassName = $sClassPath . '\\' . $xFile->getBasename('.php');
  
                  if(!key_exists($sClassName, $this->aCallableObjects))
                  {
                      $aClassOptions = $this->getOptionsFromNamespace($sClassName, $sNamespace);
                      if($aClassOptions !== null)
                      {
                          $this->_getCallableObject($sClassName, $aClassOptions);
                      }
                  }
              }
          }
      }
code_tokens: private function createCallableObjects ( ) { // Create callable objects for registered classes foreach ( $ this -> aClassOptions as $ sClassName => $ aClassOptions ) { if ( ! key_exists ( $ sClassName , $ this -> aCallableObjects ) ) { $ this -> _getCallableObject ( $ sClassName , $ aClassOptions ) ; } } // Create callable objects for registered namespaces $ sDS = DIRECTORY_SEPARATOR ; foreach ( $ this -> aNamespaceOptions as $ sNamespace => $ aOptions ) { if ( key_exists ( $ sNamespace , $ this -> aNamespaces ) ) { continue ; } $ this -> aNamespaces [ $ sNamespace ] = $ sNamespace ; // Iterate on dir content $ sDirectory = $ aOptions [ 'directory' ] ; $ itDir = new RecursiveDirectoryIterator ( $ sDirectory ) ; $ itFile = new RecursiveIteratorIterator ( $ itDir ) ; foreach ( $ itFile as $ xFile ) { // skip everything except PHP files if ( ! $ xFile -> isFile ( ) || $ xFile -> getExtension ( ) != 'php' ) { continue ; } // Find the class path (the same as the class namespace) $ sClassPath = $ sNamespace ; $ sRelativePath = substr ( $ xFile -> getPath ( ) , strlen ( $ sDirectory ) ) ; $ sRelativePath = trim ( str_replace ( $ sDS , '\\' , $ sRelativePath ) , '\\' ) ; if ( $ sRelativePath != '' ) { $ sClassPath .= '\\' . $ sRelativePath ; } $ this -> aNamespaces [ $ sClassPath ] = [ 'separator' => $ aOptions [ 'separator' ] ] ; $ sClassName = $ sClassPath . '\\' . $ xFile -> getBasename ( '.php' ) ; if ( ! key_exists ( $ sClassName , $ this -> aCallableObjects ) ) { $ aClassOptions = $ this -> getOptionsFromNamespace ( $ sClassName , $ sNamespace ) ; if ( $ aClassOptions !== null ) { $ this -> _getCallableObject ( $ sClassName , $ aClassOptions ) ; } } } } }
docstring: Create callable objects for all registered namespaces
  
  @return void
docstring_tokens: Create callable objects for all registered namespaces