db.php.svn-base
来自「PHP 知识管理系统(基于树结构的知识管理系统), 英文原版的PHP源码。」· SVN-BASE 代码 · 共 154 行
SVN-BASE
154 行
<?php/** * Zend Framework * * LICENSE * * This source file is subject to the new BSD license that is bundled * with this package in the file LICENSE.txt. * It is also available through the world-wide-web at this URL: * http://framework.zend.com/license/new-bsd * If you did not receive a copy of the license and are unable to * obtain it through the world-wide-web, please send an email * to license@zend.com so we can send you a copy immediately. * * @category Zend * @package Zend_Log * @subpackage Adapter * @copyright Copyright (c) 2005-2007 Zend Technologies USA Inc. (http://www.zend.com) * @license http://framework.zend.com/license/new-bsd New BSD License *//** Zend_Log_Adapter_Interface */require_once 'Zend/Log/Adapter/Interface.php';/** Zend_Log_Adapter_Exception */require_once 'Zend/Log/Adapter/Exception.php';/** Zend_Db_Adapter_Abstract */require_once 'Zend/Db/Adapter/Abstract.php';/** * @category Zend * @package Zend_Log * @subpackage Adapter * @copyright Copyright (c) 2005-2007 Zend Technologies USA Inc. (http://www.zend.com) * @license http://framework.zend.com/license/new-bsd New BSD License */class Zend_Log_Adapter_Db implements Zend_Log_Adapter_Interface{ /** * Database adapter instance. * * @var Zend_Db_Adapter */ protected $_dbAdapter = null; /** * Name of the log table in the database. * * @var string */ protected $_tableName = null; /** * Options to be set by setOption(). Sets the field names in the database table. * * @var array */ protected $_options = array('fieldMessage' => 'message', 'fieldLevel' => 'level'); /** * Class constructor. Pass it a database adapter and the table name of the log table. * * @param Zend_Db_Adapter $dbAdapter * @param string $tableName */ public function __construct(Zend_Db_Adapter_Abstract $dbAdapter, $tableName=null) { // Get the object handle to the database adapter if (is_null($tableName)) { throw new Zend_Log_Adapter_Exception('Database table name must be specified.'); } $this->_dbAdapter = $dbAdapter; $this->_tableName = $tableName; } /** * Sets either 'fieldMessage' to change the field name where messages are logged, * or 'fieldLevel' to change the field name where the log levels are logged. * * @param string $optionKey * @param string $optionValue */ public function setOption($optionKey, $optionValue) { if (!array_key_exists($optionKey, $this->_options)) { throw new Zend_Log_Adapter_Exception("Unknown option \"$optionKey\"."); } $this->_options[$optionKey] = $optionValue; } /** * Does nothing. * * @return bool */ public function open() { return true; } /** * Does nothing. * * @return bool */ public function close() { return true; } /** * Writes an array of key/value pairs to the database, where the keys are the * database field names and values are what to put in those fields. * * @param array $fields * @return bool */ public function write($fields) { /** * If the field defaults for 'message' and 'level' have been changed * in the options, replace the keys in the $field array. */ if ($this->_options['fieldMessage'] != 'message') { $fields[$this->_options['fieldMessage']] = $fields['message']; unset($fields['message']); } if ($this->_options['fieldLevel'] != 'level') { $fields[$this->_options['fieldLevel']] = $fields['level']; unset($fields['level']); } /** * INSERT the log line into the database */ $this->_dbAdapter->insert($this->_tableName, $fields); return true; }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?