- 基于静态变量不会随着函数的介绍而销毁,我们可以利用这个特点实现缓存
eg:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
function () { if( !checkUserExists( $_GET['userid'] ) ) { exit('抱歉,用户不存在,请确认用户帐号。'); } resetPassword( $_GET['userid'] ); sendEmail( $_GET['userid'], '重置密码成功', '新的密码是xxxx' ); exit('新密码已经发送到你的邮箱。'); }
function resetPassword( $userid ) { if( !checkUserExists( $userid ) ) { return false; }
return true; }
function sendEmail( $userid, $title, $content ) { if( !checkUserExists( $userid ) ) { return false; }
return true; }
function getUserInfo( $userid ) { $user = query( "SELECT * FROM user WHERE uid =" . intval( $userid ) ); return is_array( $user ) ? $user : array() ; }
|
###由于上面的内容多处调用到checkUserExists这个函数,所以我们这里使用静态变量做缓存
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
function checkUserExists($userid) { static $cache = array(); if(isset($cache[$userid])){ return $cache[$userid]; }
$user = getUserInfo(); $cache[$userid] = !empty($user); return $cache[$userid]; }
|
近期评论