本文整理汇总了PHP中Typecho_Common::isAvailableClass方法的典型用法代码示例。如果您正苦于以下问题:PHP Typecho_Common::isAvailableClass方法的具体用法?PHP Typecho_Common::isAvailableClass怎么用?PHP Typecho_Common::isAvailableClass使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Typecho_Common
的用法示例。
在下文中一共展示了Typecho_Common::isAvailableClass方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: execute
/**
* 入口函数,初始化路由器
*
* @access public
* @return void
* @throws Typecho_Widget_Exception
*/
public function execute()
{
/** 验证路由地址 **/
$action = $this->request->action;
//兼容老版本
if (empty($action)) {
$widget = trim($this->request->widget, '/');
$objectName = 'Widget_' . str_replace('/', '_', $widget);
if (Typecho_Common::isAvailableClass($objectName)) {
$widgetName = $objectName;
}
} else {
/** 判断是否为plugin */
$actionTable = array_merge($this->_map, unserialize($this->widget('Widget_Options')->actionTable));
if (isset($actionTable[$action])) {
$widgetName = $actionTable[$action];
}
}
if (isset($widgetName) && class_exists($widgetName)) {
$reflectionWidget = new ReflectionClass($widgetName);
if ($reflectionWidget->implementsInterface('Widget_Interface_Do')) {
$this->widget($widgetName)->action();
return;
}
}
throw new Typecho_Widget_Exception(_t('请求的地址不存在'), 404);
}
示例2: get
/**
* 获取可用的连接
*
* @access public
* @return Typecho_Http_Client_Adapter
*/
public static function get()
{
$adapters = func_get_args();
if (empty($adapters)) {
$adapters = array();
$adapterFiles = glob(dirname(__FILE__) . '/Client/Adapter/*.php');
foreach ($adapterFiles as $file) {
$adapters[] = substr(basename($file), 0, -4);
}
}
foreach ($adapters as $adapter) {
$adapterName = 'Typecho_Http_Client_Adapter_' . $adapter;
if (Typecho_Common::isAvailableClass($adapterName) && call_user_func(array($adapterName, 'isAvailable'))) {
return new $adapterName();
}
}
return false;
}
示例3: loadFormatObj
/**
*
* Load a format-render class file.
*
* @access public
*
* @return bool True if loaded, false if not.
*
*/
function loadFormatObj($format)
{
$format = ucwords(strtolower($format));
$file = $format . '.php';
$class = "Text_Wiki_Render_{$format}";
if (!Typecho_Common::isAvailableClass($class)) {
$loc = $this->findFile('render', $file);
if ($loc) {
// found the class
include_once $loc;
} else {
// can't find the class
return $this->error("Rendering format class '{$class}' not found");
}
}
$this->formatObj[$format] = new $class($this);
}