自分でブログシステムを書こうとしていますが、記事を閲覧する際、記事の削除、編集、更新など、作成者のみが実行できる操作がいくつかあります。 以前にセッションクラスを公開したので、継承を考えました。ログインしてユーザーレベルを設定します。 $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(); } } }
$limitObj = LimitFactory::getLimitObject($session->get_status()); echo $limitObj->getReadA('hi'); echo $limitObj->getDelectA('hah');
また、
文字列
内の非常に多くの
エスケープ文字
を区別するのが難しい場合は、
echo <<
以上がPHPでアプリケーションを継承するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。