Prado\Data\SqlMap\Configuration\TSqlMapXmlMappingConfiguration::configure PHP Method

configure() public method

Configure an XML mapping.
public configure ( $filename )
    public function configure($filename)
    {
        $this->_configFile = $filename;
        $document = $this->loadXmlDocument($filename, $this->_xmlConfig);
        $this->_document = $document;
        static $bCacheDependencies;
        if ($bCacheDependencies === null) {
            $bCacheDependencies = true;
        }
        //Prado::getApplication()->getMode() !== TApplicationMode::Performance;
        if ($bCacheDependencies) {
            $this->_manager->getCacheDependencies()->getDependencies()->add(new TFileCacheDependency($filename));
        }
        foreach ($document->xpath('//resultMap') as $node) {
            $this->loadResultMap($node);
        }
        foreach ($document->xpath('//parameterMap') as $node) {
            $this->loadParameterMap($node);
        }
        foreach ($document->xpath('//statement') as $node) {
            $this->loadStatementTag($node);
        }
        foreach ($document->xpath('//select') as $node) {
            $this->loadSelectTag($node);
        }
        foreach ($document->xpath('//insert') as $node) {
            $this->loadInsertTag($node);
        }
        foreach ($document->xpath('//update') as $node) {
            $this->loadUpdateTag($node);
        }
        foreach ($document->xpath('//delete') as $node) {
            $this->loadDeleteTag($node);
        }
        foreach ($document->xpath('//procedure') as $node) {
            $this->loadProcedureTag($node);
        }
        foreach ($document->xpath('//cacheModel') as $node) {
            $this->loadCacheModel($node);
        }
        $this->registerCacheTriggers();
    }

Usage Example

Ejemplo n.º 1
0
 /**
  * Load SqlMap mapping configuration.
  * @param unknown_type $node
  */
 protected function loadSqlMappingFiles($node)
 {
     if (strlen($resource = (string) $node['resource']) > 0) {
         if (strpos($resource, '${') !== false) {
             $resource = $this->replaceProperties($resource);
         }
         $mapping = new TSqlMapXmlMappingConfiguration($this);
         $filename = $this->getAbsoluteFilePath($this->_configFile, $resource);
         $mapping->configure($filename);
     }
 }