このように、以前セッションクラスを公開して問題を解決するために、ログインによってユーザーレベルを設定することを考えました。 $session->get_status() の戻り値が 0 の場合、これは、私が現在のユーザーではないため、記事を削除したり編集したりする権限がないことを示しています。戻り値が 1 の場合は、ブロガー本人であることを示します。オーケー
、くだらない話はやめてください。まずコードに移動します
// ユーザーがログインしていない場合、またはこのユーザーではない場合の操作制限
{
/* はユーザーの操作を制限します。投稿時
* @ author:xiaoai 8.12 2011
*/
static $limitObject;
public function __construct() {}
// 関数を呼び出すが存在しない場合
public static function getObject()
{
if( !(self::$limitObjectinstanceofself))
self::$limitObject = 新しい self;
return self::$limitObject ;
}
public function getReadA($postName)
return '
'.php' class='readmoreLink''
}
}
classoperationUnlimitextends OperationLimit
// このユーザーはいつですか
{
public static function getObject()
{
if( !(self::$limitObjectinstanceof self))
self::$limitObject = new self;
return self::$limitObject ;
}
public function getUpdateA($name)
{
return '
'.php?do=update' id='' .$name.'' >update';
}
public function getDelectA($name)
{
return '
.');' id='delectPOST' > ;delect';
}
}
class LimitFactory
{
public static function getLimitObject($userStatus)
// $userStatus = $session->get_status();スイッチ ( $userStatus )
{
ケース 0:
戻り操作Limit::getObject();
デフォルト:
戻り制限::getObject();
LimitFactory はファクトリ クラスであり、静的クラスでもあります。 つまり、オブジェクトを構築する必要はなく、受信したユーザー権限値に基づいて、operationLimit クラスのインスタンスを返すか、operationUnlimit クラスのインスタンスを返すかを決定するだけです。続きを読むなどの一般的な操作がいくつかあります。operationUnlimit クラスはこのメソッドを継承し、削除やリンクの更新などの新しいメソッドを作成します。
使用例
コードをコピー
コードは次のとおりです: