本文整理匯總了PHP中Cache::connect方法的典型用法代碼示例。如果您正苦於以下問題:PHP Cache::connect方法的具體用法?PHP Cache::connect怎麽用?PHP Cache::connect使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Cache
的用法示例。
在下文中一共展示了Cache::connect方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: __construct
public function __construct()
{
$host = "cache.railpage.com.au";
$port = 6379;
$this->Cache = new Redis();
$this->Cache->connect($host, $port);
$Smarty = AppCore::GetSmarty();
$Smarty->caching_type = "redis";
}
示例2: initialize
static function initialize($config = array())
{
foreach ($config as $key => $value) {
self::${$key} = $value;
}
$dsn = 'fs://' . self::$dir;
$backend = Cache::connect($dsn, self::$lifetime);
self::$client = $backend;
// Cache_Tagged::Client($backend);
}
示例3: getInstance
/**
* 取得緩存類實例
*
* @static
*
* @access public
* @return mixed
*/
static function getInstance($type = '', $options = array())
{
static $_instance = array();
$guid = $type . to_guid_string($options);
if (!isset($_instance[$guid])) {
$obj = new Cache();
$_instance[$guid] = $obj->connect($type, $options);
}
return $_instance[$guid];
}
示例4: testApc
/**
* 測試操作緩存
*/
public function testApc()
{
App::run(Config::get());
$this->assertInstanceOf('\\think\\cache\\driver\\Apc', Cache::connect(['type' => 'apc', 'expire' => 1]));
$this->assertTrue(Cache::set('key', 'value'));
$this->assertEquals('value', Cache::get('key'));
$this->assertTrue(Cache::rm('key'));
$this->assertFalse(Cache::get('key'));
$this->assertTrue(Cache::clear('key'));
Config::reset();
}
示例5: initialize
public static function initialize(array $options = array())
{
self::options($options);
if (!class_exists('Google_Client') && set_include_path(get_include_path() . PATH_SEPARATOR . self::option('lib_path') . 'src/')) {
if (!@(include_once 'Google_Client.php')) {
throw new Service_Google_API_ClientLibraryModuleNotFoundException('src/Google_Client.php', self::option('lib_path'));
}
}
self::$cache = Cache::connect(self::option('cache_path'), 0);
self::$stdin = IO::stdin();
}
示例6: run
/**
* Запускает приложение
*
* @param array $argv
*
* @return int
*/
public function run(array $argv)
{
$cache = Cache::connect($this->config->dsn);
if ($this->config->modules != null) {
foreach (Core_Strings::split_by(',', $this->config->modules) as $v) {
Core::load($v);
}
}
foreach ($argv as $v) {
IO::stdout()->write_line($v)->write_line(var_export($cache[$v], true));
}
return 0;
}
示例7: getInstance
/**
* 取得緩存類實例
* @static
* @access public
* @return mixed
*/
static function getInstance($type = '', $options = array())
{
static $_instance = array();
if (empty($type)) {
$type = $options['type'];
}
$guid = md5(serialize($options));
if (!isset($_instance[$guid])) {
$obj = new Cache();
$_instance[$guid] = $obj->connect($type, $options);
}
return $_instance[$guid];
}
示例8: init
/**
* @brief init LogX 全局初始化方法
*
* @return void
*/
public static function init()
{
// 輸出 Logo
if (isset($_GET['591E-D5FC-8065-CD36-D3E8-E45C-DB86-9197'])) {
Response::logo();
}
// 非 DEBUG 模式下關閉錯誤輸出
if (defined('LOGX_DEBUG')) {
error_reporting(E_ALL);
} else {
error_reporting(0);
}
// 設置自動載入函數
function __autoLoad($className)
{
if (substr($className, -7) == 'Library' && is_file(LOGX_LIB . $className . '.php')) {
@(require_once LOGX_LIB . $className . '.php');
}
}
// 設置錯誤與異常處理函數
set_error_handler(array(__CLASS__, 'error'));
set_exception_handler(array(__CLASS__, 'exception'));
// 運行環境檢查
if (!version_compare(PHP_VERSION, '5.0.0', '>=')) {
throw new LogXException(sprintf(_t('LogX needs PHP 5.0.x or higher to run. You are currently running PHP %s.'), PHP_VERSION));
}
if (!version_compare(PHP_VERSION, '5.2.0', '>=')) {
// 針對低版本 PHP 的兼容代碼
@(require_once LOGX_CORE . 'Compat.php');
}
// 設置語言
if (defined('LOGX_LANGUAGE')) {
Language::set(LOGX_LANGUAGE);
} else {
Language::set('zh-cn');
}
// 預編譯核心文件
global $coreFiles;
if (!defined('LOGX_DEBUG') && !file_exists(LOGX_CACHE . '~core.php')) {
Compile::build(LOGX_CACHE, $coreFiles, 'core');
} elseif (!defined('LOGX_DEBUG')) {
$file_time = filemtime(LOGX_CACHE . '~core.php');
foreach ($coreFiles as $file) {
if (filemtime($file) > $file_time) {
Compile::build(LOGX_CACHE, $coreFiles, 'core');
break;
}
}
}
self::$_globalVars = array('RUN' => array('TIME' => microtime(TRUE), 'MEM' => function_exists('memory_get_usage') ? memory_get_usage() : 0, 'LANG' => 'zh-cn'), 'SYSTEM' => array('OS' => PHP_OS, 'HTTP' => Request::S('SERVER_SOFTWARE', 'string'), 'PHP' => PHP_VERSION, 'MYSQL' => ''), 'SUPPORT' => array('MYSQL' => function_exists('mysql_connect'), 'GD' => function_exists('imagecreate'), 'MEMCACHE' => function_exists('memcache_connect'), 'SHMOP' => function_exists('shmop_open'), 'GZIP' => function_exists('ob_gzhandler'), 'TIMEZONE' => function_exists('date_default_timezone_set'), 'AUTOLOAD' => function_exists('spl_autoload_register')), 'INI' => array('ALLOW_CALL_TIME_PASS_REFERENCE' => ini_get('allow_call_time_pass_reference'), 'MAGIC_QUOTES_GPC' => ini_get('magic_quotes_gpc'), 'REGISTER_GLOBALS' => ini_get('register_globals'), 'ALLOW_URL_FOPEN' => ini_get('allow_url_fopen'), 'ALLOW_URL_INCLUDE' => ini_get('allow_url_include'), 'SAFE_MODE' => ini_get('safe_mode'), 'MAX_EXECUTION_TIME' => ini_get('max_execution_time'), 'MEMORY_LIMIT' => ini_get('memory_limit'), 'POST_MAX_SIZE' => ini_get('post_max_size'), 'FILE_UPLOADS' => ini_get('file_uploads'), 'UPLOAD_MAX_FILESIZE' => ini_get('upload_max_filesize'), 'MAX_FILE_UPLOADS' => ini_get('max_file_uploads')));
// 清除不需要的變量,防止變量注入
$defined_vars = get_defined_vars();
foreach ($defined_vars as $key => $value) {
if (!in_array($key, array('_POST', '_GET', '_COOKIE', '_SERVER', '_FILES'))) {
${$key} = '';
unset(${$key});
}
}
// 對用戶輸入進行轉義處理
if (!get_magic_quotes_gpc()) {
$_GET = self::addSlashes($_GET);
$_POST = self::addSlashes($_POST);
$_COOKIE = self::addSlashes($_COOKIE);
}
// 開啟輸出緩存
if (defined('LOGX_GZIP') && self::$_globalVars['SUPPORT']['GZIP']) {
ob_start('ob_gzhandler');
} else {
ob_start();
}
// 連接到數據庫
Database::connect(DB_HOST, DB_USER, DB_PWD, DB_NAME, DB_PCONNECT);
self::$_globalVars['SYSTEM']['MYSQL'] = Database::version();
// 設定時區
if (self::$_globalVars['SUPPORT']['TIMEZONE']) {
date_default_timezone_set(OptionLibrary::get('timezone'));
}
// 連接到緩存
Cache::connect(CACHE_TYPE);
// 初始化路由表
Router::init();
// 初始化主題控製器
Theme::init();
// 初始化 Plugin
Plugin::initPlugins();
// 初始化全局組件
Widget::initWidget('Global');
Widget::initWidget('Widget');
Widget::initWidget('Page');
Widget::initWidget('User');
// 嘗試自動登錄
Widget::getWidget('User')->autoLogin();
// 啟動路由分發
Router::dispatch();
}
示例9: run
/**
* 執行應用程序
* @access public
* @return void
*/
public static function run()
{
// 初始化公共模塊
self::initModule(COMMON_MODULE, Config::get());
// 讀取擴展配置文件
if (Config::get('extra_config_list')) {
foreach (Config::get('extra_config_list') as $file) {
Config::load($file, $file);
}
}
// 獲取配置參數
$config = Config::get();
// 加載額外文件
if (!empty($config['extra_file_list'])) {
foreach ($config['extra_file_list'] as $file) {
$file = strpos($file, '.') ? $file : APP_PATH . $file . EXT;
if (is_file($file)) {
include_once $file;
}
}
}
// 日誌初始化
Log::init($config['log']);
// 緩存初始化
Cache::connect($config['cache']);
// 設置係統時區
date_default_timezone_set($config['default_timezone']);
// 監聽app_init
APP_HOOK && Hook::listen('app_init');
// 開啟多語言機製
if ($config['lang_switch_on']) {
// 獲取當前語言
defined('LANG_SET') or define('LANG_SET', Lang::range());
// 加載係統語言包
Lang::load(THINK_PATH . 'lang' . DS . LANG_SET . EXT);
}
// 啟動session CLI 不開啟
if (!IS_CLI && $config['use_session']) {
Session::init($config['session']);
}
// 應用URL調度
self::dispatch($config);
// 監聽app_run
APP_HOOK && Hook::listen('app_run');
// 執行操作
if (!preg_match('/^[A-Za-z](\\/|\\.|\\w)*$/', CONTROLLER_NAME)) {
// 安全檢測
throw new Exception('illegal controller name:' . CONTROLLER_NAME, 10000);
}
if (Config::get('action_bind_class')) {
$class = self::bindActionClass(Config::get('empty_controller'));
$instance = new $class();
// 操作綁定到類後 固定執行run入口
$action = 'run';
} else {
$instance = Loader::controller(CONTROLLER_NAME, '', Config::get('empty_controller'));
// 獲取當前操作名
$action = ACTION_NAME . Config::get('action_suffix');
}
if (!$instance) {
throw new Exception('class [ ' . Loader::parseClass(MODULE_NAME, CONTROLLER_LAYER, CONTROLLER_NAME) . ' ] not exists', 10001);
}
try {
// 操作方法開始監聽
$call = [$instance, $action];
APP_HOOK && Hook::listen('action_begin', $call);
if (!preg_match('/^[A-Za-z](\\w)*$/', $action)) {
// 非法操作
throw new \ReflectionException();
}
//執行當前操作
$method = new \ReflectionMethod($instance, $action);
if ($method->isPublic()) {
// URL參數綁定檢測
if (Config::get('url_params_bind') && $method->getNumberOfParameters() > 0) {
// 獲取綁定參數
$args = self::getBindParams($method, Config::get('url_parmas_bind_type'));
// 全局過濾
array_walk_recursive($args, 'think\\Input::filterExp');
$data = $method->invokeArgs($instance, $args);
} else {
$data = $method->invoke($instance);
}
// 操作方法執行完成監聽
APP_HOOK && Hook::listen('action_end', $data);
// 輸出數據
return Response::send($data, Response::type(), Config::get('response_return'));
} else {
// 操作方法不是Public 拋出異常
throw new \ReflectionException();
}
} catch (\ReflectionException $e) {
// 操作不存在
if (method_exists($instance, '_empty')) {
$method = new \ReflectionMethod($instance, '_empty');
//.........這裏部分代碼省略.........
示例10: run
/**
* 執行應用程序
* @access public
* @return void
*/
public static function run(array $config = [])
{
// 初始化公共模塊
self::initModule(COMMON_MODULE, $config);
// 讀取擴展配置文件
if ($config['extra_config_list']) {
foreach ($config['extra_config_list'] as $file) {
Config::load($file, $file);
}
}
// 獲取配置參數
$config = Config::get();
// 日誌初始化
Log::init($config['log']);
// 緩存初始化
Cache::connect($config['cache']);
// 如果啟動SocketLog調試, 進行SocketLog配置
if (SLOG_ON) {
Slog::config($config['slog']);
}
// 設置係統時區
date_default_timezone_set($config['default_timezone']);
// 默認語言
$lang = strtolower($config['default_lang']);
Lang::range($lang);
// 加載默認語言包
Lang::load(THINK_PATH . 'Lang/' . $lang . EXT);
// 監聽app_init
APP_HOOK && Hook::listen('app_init');
// 啟動session API CLI 不開啟
if (!IS_CLI && !IS_API && $config['use_session']) {
Session::init($config['session']);
}
// 應用URL調度
self::dispatch($config);
// 監聽app_run
APP_HOOK && Hook::listen('app_run');
// 執行操作
if (!preg_match('/^[A-Za-z](\\/|\\.|\\w)*$/', CONTROLLER_NAME)) {
// 安全檢測
throw new Exception('illegal controller name:' . CONTROLLER_NAME, 10000);
}
if (Config::get('action_bind_class')) {
$class = self::bindActionClass(Config::get('empty_controller'));
$instance = new $class();
// 操作綁定到類後 固定執行run入口
$action = 'run';
} else {
$instance = Loader::controller(CONTROLLER_NAME, '', Config::get('empty_controller'));
// 獲取當前操作名
$action = ACTION_NAME . Config::get('action_suffix');
}
if (!$instance) {
throw new Exception('class [ ' . MODULE_NAME . '\\' . CONTROLLER_LAYER . '\\' . Loader::parseName(str_replace('.', '\\', CONTROLLER_NAME), 1) . ' ] not exists', 10001);
}
try {
// 操作方法開始監聽
$call = [$instance, $action];
APP_HOOK && Hook::listen('action_begin', $call);
if (!preg_match('/^[A-Za-z](\\w)*$/', $action)) {
// 非法操作
throw new \ReflectionException();
}
//執行當前操作
$method = new \ReflectionMethod($instance, $action);
if ($method->isPublic()) {
// URL參數綁定檢測
if (Config::get('url_params_bind') && $method->getNumberOfParameters() > 0) {
// 獲取綁定參數
$args = self::getBindParams($method, Config::get('url_parmas_bind_type'));
// 全局過濾
array_walk_recursive($args, 'think\\Input::filterExp');
$data = $method->invokeArgs($instance, $args);
} else {
$data = $method->invoke($instance);
}
// 操作方法執行完成監聽
APP_HOOK && Hook::listen('action_end', $data);
// 返回數據
Response::returnData($data, Config::get('default_return_type'), Config::get('response_exit'));
} else {
// 操作方法不是Public 拋出異常
throw new \ReflectionException();
}
} catch (\ReflectionException $e) {
// 操作不存在
if (method_exists($instance, '_empty')) {
$method = new \ReflectionMethod($instance, '_empty');
$data = $method->invokeArgs($instance, [$action, '']);
// 返回數據
Response::returnData($data, Config::get('default_return_type'), Config::get('response_exit'));
} else {
throw new Exception('method [ ' . (new \ReflectionClass($instance))->getName() . '->' . $action . ' ] not exists ', 10002);
}
}
//.........這裏部分代碼省略.........
示例11: run
/**
* 執行應用程序
* @access public
* @return void
*/
public static function run(array $config = [])
{
if (version_compare(PHP_VERSION, '5.4.0', '<')) {
throw new Exception('require PHP > 5.4.0 !');
}
// 日誌初始化
Log::init($config['log']);
// 緩存初始化
Cache::connect($config['cache']);
// 加載框架底層語言包
if (is_file(THINK_PATH . 'Lang/' . strtolower($config['default_lang']) . EXT)) {
Lang::set(include THINK_PATH . 'Lang/' . strtolower($config['default_lang']) . EXT);
}
if (is_file(APP_PATH . 'build.php')) {
// 自動化創建腳本
Create::build(include APP_PATH . 'build.php');
}
// 監聽app_init
Hook::listen('app_init');
// 初始化公共模塊
self::initModule(APP_PATH . $config['common_module'] . '/', $config);
// 啟動session
if ($config['use_session']) {
Session::init($config['session']);
}
// 應用URL調度
self::dispatch($config);
// 監聽app_run
Hook::listen('app_run');
// 執行操作
if (!preg_match('/^[A-Za-z](\\/|\\w)*$/', CONTROLLER_NAME)) {
// 安全檢測
$instance = false;
} elseif ($config['action_bind_class']) {
// 操作綁定到類:模塊\controller\控製器\操作
if (is_dir(MODULE_PATH . CONTROLLER_LAYER . '/' . CONTROLLER_NAME)) {
$namespace = MODULE_NAME . '\\' . CONTROLLER_LAYER . '\\' . CONTROLLER_NAME . '\\';
} else {
// 空控製器
$namespace = MODULE_NAME . '\\' . CONTROLLER_LAYER . '\\' . $config['empty_controller'] . '\\';
}
$actionName = strtolower(ACTION_NAME);
if (class_exists($namespace . $actionName)) {
$class = $namespace . $actionName;
} elseif (class_exists($namespace . '_empty')) {
// 空操作
$class = $namespace . '_empty';
} else {
throw new Exception('_ERROR_ACTION_:' . ACTION_NAME);
}
$instance = new $class();
// 操作綁定到類後 固定執行run入口
$action = 'run';
} else {
$instance = Loader::controller(CONTROLLER_NAME, '', $config['empty_controller']);
// 獲取當前操作名
$action = ACTION_NAME . $config['action_suffix'];
}
if (!$instance) {
throw new Exception('[ ' . MODULE_NAME . '\\' . CONTROLLER_LAYER . '\\' . Loader::parseName(CONTROLLER_NAME, 1) . ' ] not exists');
}
try {
// 操作方法開始監聽
$call = [$instance, $action];
Hook::listen('action_begin', $call);
if (!preg_match('/^[A-Za-z](\\w)*$/', $action)) {
// 非法操作
throw new \ReflectionException();
}
//執行當前操作
$method = new \ReflectionMethod($instance, $action);
if ($method->isPublic()) {
// URL參數綁定檢測
if ($config['url_params_bind'] && $method->getNumberOfParameters() > 0) {
switch ($_SERVER['REQUEST_METHOD']) {
case 'POST':
$vars = array_merge($_GET, $_POST);
break;
case 'PUT':
parse_str(file_get_contents('php://input'), $vars);
break;
default:
$vars = $_GET;
}
$params = $method->getParameters();
$paramsBindType = $config['url_parmas_bind_type'];
foreach ($params as $param) {
$name = $param->getName();
if (1 == $paramsBindType && !empty($vars)) {
$args[] = array_shift($vars);
}
if (0 == $paramsBindType && isset($vars[$name])) {
$args[] = $vars[$name];
} elseif ($param->isDefaultValueAvailable()) {
$args[] = $param->getDefaultValue();
//.........這裏部分代碼省略.........
示例12: run
/**
* 執行應用程序
* @access public
* @return void
*/
public static function run()
{
// 初始化應用(公共模塊)
self::initModule(COMMON_MODULE, Config::get());
// 讀取擴展配置文件
if (Config::get('extra_config_list')) {
foreach (Config::get('extra_config_list') as $file) {
Config::load(APP_PATH . $file . EXT, $file);
}
}
// 獲取配置參數
$config = Config::get();
// 加載額外文件
if (!empty($config['extra_file_list'])) {
foreach ($config['extra_file_list'] as $file) {
$file = strpos($file, '.') ? $file : APP_PATH . $file . EXT;
if (is_file($file)) {
include_once $file;
}
}
}
// 日誌初始化
Log::init($config['log']);
// 緩存初始化
Cache::connect($config['cache']);
// 設置係統時區
date_default_timezone_set($config['default_timezone']);
// 監聽app_init
APP_HOOK && Hook::listen('app_init');
// 開啟多語言機製
if ($config['lang_switch_on']) {
// 獲取當前語言
defined('LANG_SET') or define('LANG_SET', Lang::range());
// 加載係統語言包
Lang::load(THINK_PATH . 'lang' . DS . LANG_SET . EXT);
if (!APP_MULTI_MODULE) {
Lang::load(APP_PATH . 'lang' . DS . LANG_SET . EXT);
}
}
// 啟動session CLI 不開啟
if (!IS_CLI && $config['use_session']) {
Session::init($config['session']);
}
if (empty(self::$dispatch['type'])) {
// 未指定調度類型 則進行URL路由檢測
self::route($config);
}
// 監聽app_begin
APP_HOOK && Hook::listen('app_begin');
// 根據類型調度
switch (self::$dispatch['type']) {
case 'redirect':
// 執行重定向跳轉
header('Location: ' . self::$dispatch['url'], true, self::$dispatch['status']);
break;
case 'module':
// 模塊/控製器/操作
$data = self::module(self::$dispatch['module'], $config);
break;
case 'controller':
// 執行控製器操作
$data = Loader::action(self::$dispatch['controller'], self::$dispatch['params']);
break;
case 'method':
// 執行回調方法
$data = self::invokeMethod(self::$dispatch['method'], self::$dispatch['params']);
break;
case 'function':
// 規則閉包
$data = self::invokeFunction(self::$dispatch['function'], self::$dispatch['params']);
break;
default:
throw new Exception('dispatch type not support', 10008);
}
// 監聽app_end
APP_HOOK && Hook::listen('app_end', $data);
// 輸出數據到客戶端
return Response::send($data, Response::type(), Config::get('response_return'));
}
示例13: __construct
public function __construct($backend)
{
$this->backend = is_object($backend) ? $backend : Cache::connect((string) $backend);
}
示例14: __construct
public function __construct()
{
$this->cache = Cache::connect(self::option('less_cache_dns'));
$this->output = self::option('less_output_dir');
}
示例15: run
public function run(WS_Environment $env)
{
$dsn = $this->dsn ? $this->dsn : $env->config->cache->dsn;
if (empty($dsn)) {
$dsn = 'dummy://';
}
$timeout = $this->timeout ? $this->timeout : (isset($env->config->cache->timeout) ? $env->config->cache->timeout : null);
$env->cache = Cache::connect($dsn, $timeout);
$tagged = !is_null($this->tagged) ? $this->tagged : (isset($env->config->cache->tagged) ? $env->config->cache->tagged : !$env->cache->is_support_nesting());
$locked = !is_null($this->locked) ? $this->locked : (isset($env->config->cache->locked) ? $env->config->cache->locked : false);
if ($tagged) {
Core::load('Cache.Tagged');
$env->cache = Cache_Tagged::Client($env->cache);
}
if ($locked) {
Core::load('Cache.Locked');
$env->cache = Cache_Locked::Client($env->cache);
}
$response = null;
foreach ($this->urls as $regexp => $timeout) {
if (preg_match($regexp, $env->request->path)) {
if (($response = $env->cache->get('ws.middlweware.cache.pages:' . $env->request->url)) === null) {
$response = $this->application->run($env);
$env->cache->set('ws.middleware.cache.pages:' . $env->request->url, $response, $timeout);
}
break;
}
}
return $response ? $response : $this->application->run($env);
}