本文整理汇总了PHP中MDB2::loadClass方法的典型用法代码示例。如果您正苦于以下问题:PHP MDB2::loadClass方法的具体用法?PHP MDB2::loadClass怎么用?PHP MDB2::loadClass使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MDB2
的用法示例。
在下文中一共展示了MDB2::loadClass方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: test_loadClass
/**
* Tests that the MDB2::loadClass() method correctly loads classes.
*/
function test_loadClass()
{
$this->assertTrue(MDB2::loadClass('MDB2', false), 'loadClass');
// Suppress handling of PEAR errors while testing next case
PEAR::pushErrorHandling(null);
$result = MDB2::loadClass('null', false);
$this->assertTrue(is_a($result, 'pear_error'), 'loadClass');
PEAR::popErrorHandling();
}
示例2: dumpDatabase
/**
* Dump a previously parsed database structure in the Metabase schema
* XML based format suitable for the Metabase parser. This function
* may optionally dump the database definition with initialization
* commands that specify the data that is currently present in the tables.
*
* @param array $database_definition multi dimensional array that contains the current definition
* @param array $arguments associative array that takes pairs of tag
* names and values that define dump options.
* <pre>array (
* 'output_mode' => String
* 'file' : dump into a file
* default: dump using a function
* 'output' => String
* depending on the 'Output_Mode'
* name of the file
* name of the function
* 'end_of_line' => String
* end of line delimiter that should be used
* default: "\n"
* );</pre>
* @param int $dump Int that determines what data to dump
* + MDB2_SCHEMA_DUMP_ALL : the entire db
* + MDB2_SCHEMA_DUMP_STRUCTURE : only the structure of the db
* + MDB2_SCHEMA_DUMP_CONTENT : only the content of the db
*
* @return bool|MDB2_Error MDB2_OK or error object
* @access public
*/
function dumpDatabase($database_definition, $arguments, $dump = MDB2_SCHEMA_DUMP_ALL)
{
$class_name = $this->options['writer'];
$result = MDB2::loadClass($class_name, $this->db->getOption('debug'));
if (PEAR::isError($result)) {
return $result;
}
// get initialization data
if (isset($database_definition['tables']) && is_array($database_definition['tables']) && $dump == MDB2_SCHEMA_DUMP_ALL || $dump == MDB2_SCHEMA_DUMP_CONTENT) {
foreach ($database_definition['tables'] as $table_name => $table) {
$fields = array();
$fieldsq = array();
foreach ($table['fields'] as $field_name => $field) {
$fields[$field_name] = $field['type'];
$fieldsq[] = $this->db->quoteIdentifier($field_name, true);
}
$query = 'SELECT ' . implode(', ', $fieldsq) . ' FROM ';
$query .= $this->db->quoteIdentifier($table_name, true);
$data = $this->db->queryAll($query, $fields, MDB2_FETCHMODE_ASSOC);
if (PEAR::isError($data)) {
return $data;
}
if (!empty($data)) {
$initialization = array();
$lob_buffer_length = $this->db->getOption('lob_buffer_length');
foreach ($data as $row) {
$rows = array();
foreach ($row as $key => $lob) {
if (is_resource($lob)) {
$value = '';
while (!feof($lob)) {
$value .= fread($lob, $lob_buffer_length);
}
$row[$key] = $value;
}
$rows[] = array('name' => $key, 'group' => array('type' => 'value', 'data' => $row[$key]));
}
$initialization[] = array('type' => 'insert', 'data' => array('field' => $rows));
}
$database_definition['tables'][$table_name]['initialization'] = $initialization;
}
}
}
$writer = new $class_name($this->options['valid_types']);
return $writer->dumpDatabase($database_definition, $arguments, $dump);
}
示例3: Configurations
<?php
require_once "CommonTools.php";
// Let's do a little hack. We need the configuration information now, because
// we must get the DBinterface with the help of rootDir. So, we must
// create configuration method in this point
$configurations = new Configurations();
// Connection $conn is made in DBInterface.php
require_once dirname(__FILE__) . "/../DBInterface.php";
// To the ageLessThan function
define("TIMEUNIT_DAYS", "days");
define("TIMEUNIT_MINUTES", "minutes");
// Warnings disabled
@MDB2::loadClass("MDB2_Driver_Datatype_Common", false);
@MDB2::loadClass("MDB2_Date", false);
@($MDB2Datatype = new MDB2_Driver_Datatype_Common());
$conn->loadModule('Datatype');
class Database
{
var $configurations;
var $page;
var $debugger;
var $connection;
function Database()
{
global $configurations, $page, $debugger;
$this->configurations =& $configurations;
$this->page =& $page;
$this->debugger =& $debugger;
/*
Tämä kaikki on aika turhaa, kun otaxille siirryttäessä tein
示例4: loadModule
/**
* loads a module
*
* @param string name of the module that should be loaded
* (only used for error messages)
* @param string name of the property into which the class will be loaded
* @param bool if the class to load for the module is specific to the
* phptype
*
* @return object on success a reference to the given module is returned
* and on failure a PEAR error
*
* @access public
*/
function loadModule($module, $property = null, $phptype_specific = null)
{
if (!$property) {
$property = strtolower($module);
}
if (!isset($this->{$property})) {
$version = $phptype_specific;
if ($phptype_specific !== false) {
$version = true;
$class_name = 'MDB2_Driver_' . $module . '_' . $this->phptype;
$file_name = str_replace('_', DIRECTORY_SEPARATOR, $class_name) . '.php';
}
if ($phptype_specific === false || !MDB2::classExists($class_name) && !MDB2::fileExists($file_name)) {
$version = false;
$class_name = 'MDB2_' . $module;
$file_name = str_replace('_', DIRECTORY_SEPARATOR, $class_name) . '.php';
}
$err = MDB2::loadClass($class_name, $this->getOption('debug'));
if ((new PEAR())->isError($err)) {
return $err;
}
// load module in a specific version
if ($version) {
if (method_exists($class_name, 'getClassName')) {
$class_name_new = call_user_func(array($class_name, 'getClassName'), $this->db_index);
if ($class_name != $class_name_new) {
$class_name = $class_name_new;
$err = MDB2::loadClass($class_name, $this->getOption('debug'));
if ((new PEAR())->isError($err)) {
return $err;
}
}
}
}
if (!MDB2::classExists($class_name)) {
$err = $this->raiseError(MDB2_ERROR_LOADMODULE, null, null, "unable to load module '{$module}' into property '{$property}'", __FUNCTION__);
return $err;
}
$this->{$property} = new $class_name($this->db_index);
$this->modules[$module] = $this->{$property};
if ($version) {
// this will be used in the connect method to determine if the module
// needs to be loaded with a different version if the server
// version changed in between connects
$this->loaded_version_modules[] = $property;
}
}
return $this->{$property};
}
示例5: parseDictionaryDefinitionFile
/**
* Parse a changeset definition file by creating a schema
* parser object and passing the file contents as parser input data stream.
*
* @param string the changeset schema file.
* @param array associative array that the defines the text string values
* that are meant to be used to replace the variables that are
* used in the schema description.
* @param bool make function fail on invalid names
* @param array database structure definition
* @access public
*/
function parseDictionaryDefinitionFile($input_file, $variables = array(), $fail_on_invalid_names = true, $structure = false)
{
$dtd_file = $this->options['dtd_file'];
if ($dtd_file) {
require_once 'XML/DTD/XmlValidator.php';
$dtd = new XML_DTD_XmlValidator();
if (!$dtd->isValid($dtd_file, $input_file)) {
return $this->customRaiseError(MDB2_SCHEMA_ERROR_PARSE, null, null, $dtd->getMessage());
}
}
require_once "MDB2/Schema/ParserDictionary.php";
$class_name = 'MDB2_Dictionary_Parser';
$result = MDB2::loadClass($class_name, $this->db->getOption('debug'));
if (PEAR::isError($result)) {
return $result;
}
$parser = new $class_name($variables, $fail_on_invalid_names, $structure, $this->options['valid_types'], $this->options['force_defaults']);
$class_name = 'MDB2_Schema_Validate';
$parser->val = new $class_name($fail_on_invalid_names, $this->options['valid_types'], $this->options['force_defaults']);
$result = $parser->setInputFile($input_file);
if (PEAR::isError($result)) {
return $result;
}
$result = $parser->parse();
if (PEAR::isError($result)) {
return $result;
}
if (PEAR::isError($parser->error)) {
return $parser->error;
}
$dictionary = $parser->dictionary_definition;
return $dictionary;
}
示例6: test_loadClass
/**
* Tests that the MDB2::loadClass() method correctly loads classes.
* @dataProvider provider
*/
public function test_loadClass($ci)
{
$this->manualSetUp($ci);
$this->assertTrue(MDB2::loadClass('MDB2', false), 'loadClass');
// Suppress handling of PEAR errors while testing next case
$this->db->pushErrorHandling(null);
$result = MDB2::loadClass('null', false);
$this->assertTrue(is_object($result) && is_a($result, 'pear_error'), 'loadClass');
$this->db->popErrorHandling();
}