本文整理汇总了PHP中MDB2::classExists方法的典型用法代码示例。如果您正苦于以下问题:PHP MDB2::classExists方法的具体用法?PHP MDB2::classExists怎么用?PHP MDB2::classExists使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MDB2
的用法示例。
在下文中一共展示了MDB2::classExists方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: test_classExists
/**
* Tests that the MDB2::classExists() method correctly tests for
* existence of a class.
*/
function test_classExists()
{
$this->assertFalse(MDB2::classExists('null'), 'classExists');
$this->assertTrue(MDB2::classExists('MDB2'), 'classExists');
}
示例2: test_classExists
/**
* Tests that the MDB2::classExists() method correctly tests for
* existence of a class.
* @dataProvider provider
*/
public function test_classExists($ci)
{
$this->manualSetUp($ci);
$this->assertFalse(MDB2::classExists('null'), 'classExists');
$this->assertTrue(MDB2::classExists('MDB2'), 'classExists');
}
示例3: _wrapResult
/**
* wrap a result set into the correct class
*
* @param resource result handle
* @param mixed array that contains the types of the columns in
* the result set
* @param mixed string which specifies which result class to use
* @param mixed string which specifies which class to wrap results in
* @param string number of rows to select
* @param string first row to select
*
* @return mixed an MDB2_Result, a MDB2 error on failure
*
* @access protected
*/
function _wrapResult($result_resource, $types = array(), $result_class = true, $result_wrap_class = false, $limit = null, $offset = null)
{
if ($types === true) {
if ($this->supports('result_introspection')) {
$this->loadModule('Reverse', null, true);
$tableInfo = $this->reverse->tableInfo($result_resource);
if ((new PEAR())->isError($tableInfo)) {
return $tableInfo;
}
$types = array();
foreach ($tableInfo as $field) {
$types[] = $field['mdb2type'];
}
} else {
$types = null;
}
}
if ($result_class === true) {
$result_class = $this->options['result_buffering'] ? $this->options['buffered_result_class'] : $this->options['result_class'];
}
if ($result_class) {
$class_name = sprintf($result_class, $this->phptype);
if (!MDB2::classExists($class_name)) {
$err = $this->raiseError(MDB2_ERROR_NOT_FOUND, null, null, 'result class does not exist ' . $class_name, __FUNCTION__);
return $err;
}
$result = new $class_name($this, $result_resource, $limit, $offset);
if (!MDB2::isResultCommon($result)) {
$err = $this->raiseError(MDB2_ERROR_NOT_FOUND, null, null, 'result class is not extended from MDB2_Result_Common', __FUNCTION__);
return $err;
}
if (!empty($types)) {
$err = $result->setResultTypes($types);
if ((new PEAR())->isError($err)) {
$result->free();
return $err;
}
}
}
if ($result_wrap_class === true) {
$result_wrap_class = $this->options['result_wrap_class'];
}
if ($result_wrap_class) {
if (!MDB2::classExists($result_wrap_class)) {
$err = $this->raiseError(MDB2_ERROR_NOT_FOUND, null, null, 'result wrap class does not exist ' . $result_wrap_class, __FUNCTION__);
return $err;
}
$result = new $result_wrap_class($result_resource, $this->fetchmode);
}
return $result;
}
示例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 (PEAR::isError($err)) {
return $err;
}
// load modul 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 (PEAR::isError($err)) {
return $err;
}
}
}
}
if (!class_exists($class_name)) {
$err =& $this->customRaiseError(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};
}