第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

php 單例調(diào)用

php 單例調(diào)用

PHP
人到中年有點甜 2019-03-17 00:10:11
1.今天寫了一個redis單例模式類,使用自定義方法調(diào)用時,奇怪的是調(diào)用兩次只有一次生效,各位大佬幫忙瞅瞅唄..代碼如下:調(diào)用代碼: hook('redis_plugin', 'joinQueue', ['key' => 'leo', 'value' => ['測試hook']], 1); hook('redis_plugin', 'popQueue', ['key' => 'leo'], 1); hook方法代碼: function hook($class, $function , $params = null, $hookType = 0) { $obj = \eoc\library\Hook::getInstance(); $obj->runHook($class, $function, $hookType, $params); } hook類代碼: <?php namespace eoc\library; class Hook { private static $instance; /** * @var string hook文件存放目錄 */ protected static $hook; //防止類被克隆 private function __clone() { trigger_error('Clone is not allow!',E_USER_ERROR); } //防止類重復(fù)實例化 public static function getInstance() { if (!(self::$instance instanceof self)) { self::$instance = new self; } return self::$instance; } /** * @param $class * @param $function * @param null $params 運行插件 * @param int 插件模式 0 工廠模式 1單例模式 */ public function runHook($class, $function, $hookType = 0, $params = null) { //設(shè)置hook類存放目錄 $hookPath = APP_PATH . DIRECTORY_SEPARATOR . get_config('plugin_dir') . DIRECTORY_SEPARATOR; //設(shè)置后綴 $postfix = '.class.php'; $result = include($hookPath . $class . DIRECTORY_SEPARATOR . $class . $postfix); if (!$result) { setErrorInfo($class . '插件不存在'); } switch ($hookType) { case 0: $object = new $class(); $object->$function($params); break; case 1: //$object = $class::getInstance(); dump($params); // $object::$function($params); break; default: # code... break; } } }
查看完整描述

3 回答

?
PIPIONE

TA貢獻(xiàn)1829條經(jīng)驗 獲得超9個贊

多謝各位大佬的指點,已經(jīng)解決了把include 替換為require_once就好了

查看完整回答
反對 回復(fù) 2019-03-18
?
ABOUTYOU

TA貢獻(xiàn)1812條經(jīng)驗 獲得超5個贊

你這也叫單例
runHook hook 也是個靜態(tài)方法

$obj = \eoc\library\Hook::getInstance();
$obj::runHook($class, $function, $hookType, $params);

你來告訴我,這各下面有什么區(qū)別

\eoc\library\Hook::runHook($class, $function, $hookType, $params);
查看完整回答
反對 回復(fù) 2019-03-18
  • 3 回答
  • 0 關(guān)注
  • 379 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號