【php开源代码栏目提醒】:网学会员php开源代码为您提供ProviderManager.class.php参考,解决您在ProviderManager.class.php学习中工作中的难题,参考学习。
<?php
// +----------------------------------------------------------------------
// | Think
PHP // +----------------------------------------------------------------------
// | Copyright (c) 2008 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: liu21st <liu21st@gmail.com>
// +----------------------------------------------------------------------
// $Id$
/**
+------------------------------------------------------------------------------
* 璁よ瘉濮旀墭绠$悊鍣?
+------------------------------------------------------------------------------
* @category ORG
* @package ORG
* @subpackage RBAC
* @author liu21st <liu21st@gmail.com>
* @version $Id$
+------------------------------------------------------------------------------
*/
class ProviderManager extends Base
{//绫诲畾涔夊紑濮?
/**
+----------------------------------------------------------
* 璁よ瘉鍚庣殑鐢ㄦ埛淇℃伅
+----------------------------------------------------------
* @var mixed
* @access protected
+----------------------------------------------------------
*/
protected $data;
/**
+----------------------------------------------------------
* 鍙栧緱濮旀墭绠$悊绫诲疄渚?
*
+----------------------------------------------------------
* @static
* @access public
+----------------------------------------------------------
* @return mixed 杩斿洖濮旀墭绠$悊绫?
+----------------------------------------------------------
*/
public static function getInstance()
{
$param = func_get_args();
return get_instance_of(__CLASS__,'connect',$param);
}
/**
+----------------------------------------------------------
* 鍔犺浇濮旀墭绠$悊
*
+----------------------------------------------------------
* @access public
+----------------------------------------------------------
* @param mixed $authProvider 濮旀墭鏂瑰紡
+----------------------------------------------------------
* @return string
+----------------------------------------------------------
* @throws ThinkExecption
+----------------------------------------------------------
*/
public function connect($authProvider='')
{
$providerPath = dirname(__FILE__).'/Provider/';
$authProvider = empty($authProvider)? C('USER_AUTH_PROVIDER'):$authProvider;
if (require_cache( $providerPath . $authProvider . '.class.php'))
$provider = & new $authProvider();
else
throw_exception(L('绯荤粺鏆傛椂涓嶆敮鎸佸鎵樻柟寮? ') .$authProvider);
return $provider;
}
}//绫诲畾涔夌粨鏉?
?>