天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

php繼承的一個應用

這樣我
想到了繼承來解決,前面發表過一個會話類,這下簡單多了,通過登錄來設置用戶的級別,$session->get_status()的返回
值如果是0,則表明當前用戶并不是博主,因此并不具有刪除,編輯文章的權限。如果是返回值是1,則表明是博主本人。好
了,廢話少扯。先上代碼
復制代碼 代碼如下:
class operationLimit
// operating limit. When no user login or is not this user
{
/* for limit the user operat at post.
* @author:xiaoai 8.12 2011
*/
static $limitObject;
public function __construct() {}
// when call the function but does not exist
public static function getObject()
{
if( !(self::$limitObject instanceof self))
self::$limitObject = new self;
return self::$limitObject ;
}
protected function setLimit() {}
public function getReadA($postName)
{
return '<a herf=/'http://foodstory.me/post/'.$postname.
'.php/' class=/'readmoreLink/'>readmore</a>';
}
}
class operationUnlimit extends operationLimit
// when is this user
{
public static function getObject()
{
if( !(self::$limitObject instanceof self))
self::$limitObject = new self;
return self::$limitObject ;
}
public function getUpdateA($name)
{
return '<a href=/'http://foodstory.me/post/'.$name.
'.php?do=update/' id=/''.$name.'/' >update</a>';
}
public function getDelectA($name)
{
return '<a href=/'Javascript:delectPOST('.$name
.');/' id=/'delectPOST/' >delect</a>';
}
}
class LimitFactory
{
public static function getLimitObject($userStatus)
// $userStatus = $session->get_status();
{
switch ( $userStatus )
{
case 0:
return operationLimit::getObject();
case 1:
return operationUnlimit::getObject();
default:
return limit::getObject();
}
}
}

LimitFactory是一個工廠類,兼靜態類。 即不需要構造對象,它的職責只是根據傳入的用戶權限值,來判斷該返回 operationLimit類 還是 operationUnlimit類 的實例。
有一些共用的操作,比如閱讀更多,operationUnlimit類繼承了這個方法,而后又創造了一些新方法,比如返回刪除,更新鏈接的方法。
用法示例
復制代碼 代碼如下:
$limitObj = LimitFactory::getLimitObject($session->get_status());
echo $limitObj->getReadA('hi');
echo $limitObj->getDelectA('hah');

下面談點無關的,剛開始當我沒有在operationUnlimit類中寫getObject() 靜態方法,發現調用
return operationUnlimit::getObject();
返回的卻是超類的對象,感覺奇怪,我在getObject();方法中用的是self來表示當前的類,沒有指明一定要返回超類的對象啊。當在子
類中重寫了這個靜態方法才OK。后來查了下google,依稀理解,編譯器在剛開始的時候就把getObject方法和超類綁定在一起,因此
在子類中的調用依然是返回超類對象。

還有,是否覺得字符串中那么多轉義符很難分辨,那么改用
echo <<<Eeeeeee
<a href='foodstory.me/post/{$name}.php' >read more</a>
Eeeeeee;
這樣清爽了很多

php技術php繼承的一個應用,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 亚洲视频在线免费 | 精品高潮呻吟99AV无码 | 夜夜穞狠狠穞 | 给个男人都懂的网址2019 | 果冻传媒在线播放 免费观看 | 97国产揄拍国产精品人妻 | 最近2019年日本中文免费字幕 | 色多多污污版免费下载安装 | 无码人妻精品一区二区蜜桃色欲 | 三级视频黄色 | JAVAPARSER丰满白老师 | 99久久国产露脸精品国产麻豆 | 国产熟妇无码一区二 | 99国产电影 | 中国农村真实bbwbbwbbw | 天天夜夜草草久久亚洲香蕉 | 国产睡熟迷奷系列精品 | 小萝ar视频网站 | 国产欧洲野花A级 | 亚洲免费网站在线观看 | 日韩亚洲视频一区二区三区 | 亚洲国产成人精品无码区APP | 免费在线看视频 | 红豆视频免费资源观看 | 在教室轮流被澡高H林萌 | 国产精品18久久久久久欧美网址 | 秋霞电影网伦大理电影在线观看 | 热巴两次用约老师屁股发底线球 | 久久这里只有热精品18 | 欧美亚洲日韩国产在线在线 | 无人区乱码区1卡2卡三卡在线 | 国产睡熟迷奷系列网站 | 第一次处破女完整版电影 | 狠狠色狠狠色狠狠五月ady | 忘忧草在线社区WWW日本-韩国 | 抽插内射高潮呻吟V杜V | 处破女免费播放 | 手机国产视频福利 | 亚洲AV久久无码精品九号 | 亚洲精品久久久久久久蜜臀老牛 | 国产精品成人久久久久A伋 国产精品成人观看视频免费 |