比較|対象|プロセス|経験
私は最近、以前に取り組んだプロジェクトを開きました。このシステム構造では、ログインしているユーザーの権限を決定するために 4 つのインクルード ファイルが使用されます。これは、多くの友人が以前にこのようなコードを作成したことがあるかもしれません。これらのコードを整理して簡単な権限判定クラスに記述し、オブジェクト指向とプロセス指向の違いを比較してみました。
コードは以下の通りです(一部省略)。
sesson1.php
/*
* 機能: ユーザーの Cookie を取得して、ユーザーがログインしていてシステム管理者権限があるかどうかを判断します
* プログラマー: xiangli
* 日付: 2002-07-19
* /
$UserName = $HTTP_COOKIE_VARS['UserName1'];//Username
if ( empty($UserName) || $HTTP_COOKIE_VARS['Level'] != 1 )
{
header("Location: ../right .phtml");
}
?>
session2.php
/*
* 機能: ユーザーの Cookie を取得して、ユーザーがログインしていてオペレーター権限があるかどうかを判断します
* プログラマー: xiangli
* 日付: 2001-07-19
*/
$UserName = $HTTP_COOKIE_VARS['UserName1'];//ユーザー名
$Level = $HTTP_COOKIE_VARS['Level'];//権限レベル
if ( empty($ユーザー名) || $Level > 2 )
{
header("Location: ../index.phtml");
}
?>
session3.php
* 関数:ユーザーの Cookie を取得して、ユーザーがログインしているかどうか、およびユーザーが通常のユーザー権限を持っているかどうかを判断します
* プログラマー: xiangli
* 日付: 2001-07-19
*/
if ( empty( $UserName1) || $Level > 3 )
{
header("Location: ./right.phtml");
}
?>
session4.php
/*
* 機能: ユーザーの Cookie を取得して、ユーザーがログインしているか、ユーザーがエンタープライズ ユーザー権限を持っているかどうか
* プログラマー: xiangli
* 日付: 2001-08-11
*/
if ( empty($_COOKIE['ClientName']) || $_COOKIE['レベル'] != 4 )
{
#header("Location: ../client_login.phtml");
}
?>
Call:
include_once("/ lib/session1.php" );
include_once("/lib/session2.php");
include_once("/lib/session3.php");
include_once("/lib/session4.php");
?> ;
マージされた権限判定クラス:
sessionPower.php
/**
* @関数: ユーザーがログインしたかどうか、および Cookie の値に基づいてユーザーの権限を判断します
* @プログラマー: xiangli
* @日付: 2002-12-20
*/
class sessionPower{
var Username;//Username
var Level;//User power level
/**
* ユーザーがログインしたかどうかを判断します
*/
function sessionPower()
{
$this->UserName = $HTTP_COOKIE_VARS['UserName'];//ユーザー名
$this->Level = $HTTP_COOKIE_VARS ['Level '];//権限レベル
if ( $this->UserName == "" || $this->Level == "") ;
header("場所: ../right.phtml "); }
}
/**
* システム管理者権限がありますか?
*/
functionoperatorPower()
{
if ( $this->Level > 2 )
{
header("Location: ../index. phtml");
}
}
/**
* オペレーター権限がありますか?*/
function generalPower()
/**
* ユーザーがエンタープライズユーザー権限を持っているかどうか
*/
関数 enterprisePower()
}
?>
call :
include_once("/lib/sessionPower.php");
$ sessionPower = 新しい sessionPower();
$sessionPower->adminPower();
$sessionPower->operatorPower();
$sessionPower->generalPower();
$sessionPower->enterprisePower();
?> ;
注: オブジェクト指向プログラミングを使用する場合は、開発効率が大幅に向上するように、zend エディターを使用することをお勧めします。