当前位置: 首页>>代码示例>>PHP>>正文


PHP JDatabaseDriver::getPrefix方法代码示例

本文整理汇总了PHP中JDatabaseDriver::getPrefix方法的典型用法代码示例。如果您正苦于以下问题:PHP JDatabaseDriver::getPrefix方法的具体用法?PHP JDatabaseDriver::getPrefix怎么用?PHP JDatabaseDriver::getPrefix使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在JDatabaseDriver的用法示例。


在下文中一共展示了JDatabaseDriver::getPrefix方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: __construct

 /**
  * {@inheritdoc}
  *
  * @codeCoverageIgnore
  */
 public function __construct($connection = null, $tablePrefix = null)
 {
     $this->_db = \JFactory::getDbo();
     $tablePrefix = $this->_db->getPrefix();
     $connection = $this->_db->getConnection();
     parent::__construct($connection, $tablePrefix);
 }
开发者ID:jbzoo,项目名称:sqlbuilder,代码行数:12,代码来源:Joomla.php

示例2: testGetPrefix

	/**
	 * Tests the JDatabaseDriver::getPrefix method.
	 *
	 * @return  void
	 *
	 * @since   11.4
	 */
	public function testGetPrefix()
	{
		$this->assertThat(
			$this->db->getPrefix(),
			$this->equalTo('&')
		);
	}
开发者ID:realityking,项目名称:joomla-platform,代码行数:14,代码来源:JDatabaseDriverTest.php

示例3: getGenericTableName

 /**
  * Get the generic name of the table, converting the database prefix to the wildcard string.
  *
  * @param   string  $table  The name of the table.
  *
  * @return  string  The name of the table with the database prefix replaced with #__.
  *
  * @since   13.1
  */
 protected function getGenericTableName($table)
 {
     $prefix = $this->db->getPrefix();
     // Replace the magic prefix if found.
     $table = preg_replace("|^{$prefix}|", '#__', $table);
     return $table;
 }
开发者ID:shoffmann52,项目名称:install-from-web-server,代码行数:16,代码来源:exporter.php

示例4: createTable

 protected function createTable()
 {
     $this->debug('createTable: Check if plugin table exists.');
     // Create plugin table if doesn't exist
     $query = "SHOW TABLES LIKE '{$this->db->getPrefix()}kunenadiscuss'";
     $this->db->setQuery($query);
     if (!$this->db->loadResult()) {
         KunenaError::checkDatabaseError();
         $query = "CREATE TABLE IF NOT EXISTS `#__kunenadiscuss`\n\t\t\t\t\t(`content_id` int(11) NOT NULL default '0',\n\t\t\t\t\t `thread_id` int(11) NOT NULL default '0',\n\t\t\t\t\t PRIMARY KEY  (`content_id`)\n\t\t\t\t\t )";
         $this->db->setQuery($query);
         $this->db->query();
         KunenaError::checkDatabaseError();
         $this->debug("Created #__kunenadiscuss cross reference table.");
         // Migrate data from old FireBoard discussbot if it exists
         $query = "SHOW TABLES LIKE '{$this->db->getPrefix()}fb_discussbot'";
         $this->db->setQuery($query);
         if ($this->db->loadResult()) {
             $query = "REPLACE INTO `#__kunenadiscuss`\n\t\t\t\t\tSELECT `content_id` , `thread_id`\n\t\t\t\t\tFROM `#__fb_discussbot`";
             $this->db->setQuery($query);
             $this->db->query();
             KunenaError::checkDatabaseError();
             $this->debug("Migrated old data.");
         }
     }
 }
开发者ID:810,项目名称:Kunena-Addons,代码行数:25,代码来源:kunenadiscuss.php

示例5: mergeStructure

 /**
  * Merges the incoming structure definition with the existing structure.
  *
  * @return  void
  *
  * @note    Currently only supports XML format.
  * @since   13.1
  * @throws  RuntimeException on error.
  */
 public function mergeStructure()
 {
     $prefix = $this->db->getPrefix();
     $tables = $this->db->getTableList();
     if ($this->from instanceof SimpleXMLElement) {
         $xml = $this->from;
     } else {
         $xml = new SimpleXMLElement($this->from);
     }
     // Get all the table definitions.
     $xmlTables = $xml->xpath('database/table_structure');
     foreach ($xmlTables as $table) {
         // Convert the magic prefix into the real table name.
         $tableName = (string) $table['name'];
         $tableName = preg_replace('|^#__|', $prefix, $tableName);
         if (in_array($tableName, $tables)) {
             // The table already exists. Now check if there is any difference.
             if ($queries = $this->getAlterTableSql($xml->database->table_structure)) {
                 // Run the queries to upgrade the data structure.
                 foreach ($queries as $query) {
                     $this->db->setQuery((string) $query);
                     $this->db->execute();
                 }
             }
         } else {
             // This is a new table.
             $sql = $this->xmlToCreate($table);
             $this->db->setQuery((string) $sql);
             $this->db->execute();
         }
     }
 }
开发者ID:adjaika,项目名称:J3Base,代码行数:41,代码来源:importer.php

示例6: getTableFields

 /**
  * Get the columns from a database table.
  *
  * @param   string   Table name. If null current table is used
  *
  * @return  mixed    An array of the field names, or false if an error occurs.
  */
 public function getTableFields($tableName = null)
 {
     static $cache = array();
     static $tables = array();
     // Make sure we have a list of tables in this db
     if (empty($tables)) {
         $tables = $this->_db->getTableList();
     }
     if (!$tableName) {
         $tableName = $this->_tbl;
     }
     if (!array_key_exists($tableName, $cache)) {
         // Lookup the fields for this table only once.
         $name = $tableName;
         $prefix = $this->_db->getPrefix();
         if (substr($name, 0, 3) == '#__') {
             $checkName = $prefix . substr($name, 3);
         } else {
             $checkName = $name;
         }
         if (!in_array($checkName, $tables)) {
             // The table doesn't exist. Return false.
             $cache[$tableName] = false;
         } elseif (version_compare(JVERSION, '3.0', 'ge')) {
             $fields = $this->_db->getTableColumns($name, false);
             if (empty($fields)) {
                 $fields = false;
             }
             $cache[$tableName] = $fields;
         } else {
             $fields = $this->_db->getTableFields($name, false);
             if (!isset($fields[$name])) {
                 $fields = false;
             }
             $cache[$tableName] = $fields[$name];
         }
     }
     return $cache[$tableName];
 }
开发者ID:brojask,项目名称:colegio-abogados-joomla,代码行数:46,代码来源:table.php

示例7: getTableFields

 /**
  * Get the columns from a database table.
  *
  * @param   string  $tableName  Table name. If null current table is used
  *
  * @return  mixed  An array of the field names, or false if an error occurs.
  */
 public function getTableFields($tableName = null)
 {
     // Should I load the cached data?
     $useCache = array_key_exists('use_table_cache', $this->config) ? $this->config['use_table_cache'] : false;
     // Make sure we have a list of tables in this db
     if (empty(self::$tableCache)) {
         if ($useCache) {
             // Try to load table cache from a cache file
             $cacheData = FOFPlatform::getInstance()->getCache('tables', null);
             // Unserialise the cached data, or set the table cache to empty
             // if the cache data wasn't loaded.
             if (!is_null($cacheData)) {
                 self::$tableCache = json_decode($cacheData, true);
             } else {
                 self::$tableCache = array();
             }
         }
         // This check is true if the cache data doesn't exist / is not loaded
         if (empty(self::$tableCache)) {
             self::$tableCache = $this->_db->getTableList();
             if ($useCache) {
                 FOFPlatform::getInstance()->setCache('tables', json_encode(self::$tableCache));
             }
         }
     }
     // Make sure the cached table fields cache is loaded
     if (empty(self::$tableFieldCache)) {
         if ($useCache) {
             // Try to load table cache from a cache file
             $cacheData = FOFPlatform::getInstance()->getCache('tablefields', null);
             // Unserialise the cached data, or set to empty if the cache
             // data wasn't loaded.
             if (!is_null($cacheData)) {
                 $decoded = json_decode($cacheData, true);
                 $tableCache = array();
                 if (count($decoded)) {
                     foreach ($decoded as $myTableName => $tableFields) {
                         $temp = array();
                         if (is_array($tableFields)) {
                             foreach ($tableFields as $field => $def) {
                                 $temp[$field] = (object) $def;
                             }
                             $tableCache[$myTableName] = $temp;
                         } elseif (is_object($tableFields) || is_bool($tableFields)) {
                             $tableCache[$myTableName] = $tableFields;
                         }
                     }
                 }
                 self::$tableFieldCache = $tableCache;
             } else {
                 self::$tableFieldCache = array();
             }
         }
     }
     if (!$tableName) {
         $tableName = $this->_tbl;
     }
     // Try to load again column specifications if the table is not loaded OR if it's loaded and
     // the previous call returned an error
     if (!array_key_exists($tableName, self::$tableFieldCache) || isset(self::$tableFieldCache[$tableName]) && !self::$tableFieldCache[$tableName]) {
         // Lookup the fields for this table only once.
         $name = $tableName;
         $prefix = $this->_db->getPrefix();
         if (substr($name, 0, 3) == '#__') {
             $checkName = $prefix . substr($name, 3);
         } else {
             $checkName = $name;
         }
         if (!in_array($checkName, self::$tableCache)) {
             // The table doesn't exist. Return false.
             self::$tableFieldCache[$tableName] = false;
         } elseif (version_compare(JVERSION, '3.0', 'ge')) {
             $fields = $this->_db->getTableColumns($name, false);
             if (empty($fields)) {
                 $fields = false;
             }
             self::$tableFieldCache[$tableName] = $fields;
         } else {
             $fields = $this->_db->getTableFields($name, false);
             if (!isset($fields[$name])) {
                 $fields = false;
             }
             self::$tableFieldCache[$tableName] = $fields[$name];
         }
         // PostgreSQL date type compatibility
         if ($this->_db->name == 'postgresql' && self::$tableFieldCache[$tableName] != false) {
             foreach (self::$tableFieldCache[$tableName] as $field) {
                 if (strtolower($field->type) == 'timestamp without time zone') {
                     if (stristr($field->Default, '\'::timestamp without time zone')) {
                         list($date, $junk) = explode('::', $field->Default, 2);
                         $field->Default = trim($date, "'");
                     }
                 }
//.........这里部分代码省略.........
开发者ID:deenison,项目名称:joomla-cms,代码行数:101,代码来源:table.php

示例8: getPrefix

 /**
  * @return string
  */
 public function getPrefix()
 {
     return $this->_db->getPrefix();
 }
开发者ID:JBZoo,项目名称:CrossCMS,代码行数:7,代码来源:Database.php


注:本文中的JDatabaseDriver::getPrefix方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。