私はオブジェクト指向PHPの概念(www.killerphp.comのチュートリアルに従う)に不慣れであり、すべてのphpアプリケーションをOOPHPに移行することを計画しています。メソッド「setSecurity()」によって設定された「where」条件
のオブジェクトプロパティに基づいてデータベースから認証レベルを読み取る最初のクラスの構築を開始しました。
配列「getSecurity()」を返すことができましたが、出力を出力すると次のようになります。
security Object
(
[secArray] => Array
(
[from_date1] => 1992-01-01
[to_date1] => 0000-00-00
[from_date2] => 1992-01-01
[to_date2] => 0000-00-00
[view] => 1
[insert] => 0
[update] => 1
[delete] => 1
[valid] => 1
)
)
/*"Array 1"*/
私の問題は、通常の配列(以下)の出力に慣れていないことです。
Array
(
[from_date1] => 1992-01-01
[to_date1] => 0000-00-00
[from_date2] => 1992-01-01
[to_date2] => 0000-00-00
[view] => 1
[insert] => 0
[update] => 1
[delete] => 1
[valid] => 1
)
/*"Array 2"*/
私の質問は次のとおりです:1)getSecurity()メソッド(配列1から)から配列の要素にアクセスするにはどうすればよいですか?
2)配列を正しく返すようにメソッドを取得するにはどうすればよいですか(配列2と同じ)?
以下にあるコードスニペット。
応援ありがとうございました...
'test.php'
<?php
include("connect.php");
include("security.php");
$secArray=new security();
$secArray->setSecurity('test_user',1,1,1,$link);
$secArray->getSecurity();
echo "<pre>"; print_r($secArray); echo "</pre>";
?>
'security.php'
<?php
class security
{
public $secArray = array();
function setSecurity($user,$appid,$funid,$objid,$conn='')
{
$query="SELECT lu.DATE1 as from_date1,
lu.DATE2 as to_date1,
ga.DATE1 as from_date2,
ga.DATE2 as to_date2,
ga.VIEW as view,
ga.INSERT as insert,
ga.UPDATE as update,
ga.DELETE as delete,
ob.VALID as valid
FROM
user as lu
inner join group as ug on lu.GRP_ID = ug.ID
inner join privileges as ga on lu.GRP_ID = ga.GRP_ID
and ug.ID = ga.GRP_ID
inner join level1 as ob on ob.APP_ID = ga.APP_ID
and ob.FUN_ID = ga.FUN_ID
and ob.ID = ga.OBJ_ID
where
USERID = '$user'
and ga.APP_ID = $appid
and ga.FUN_ID = $funid
and ga.OBJ_ID = $objid";
$result = mysql_query($query,$conn);
$row = mysql_fetch_assoc($result);
$this->secArray=$row;
}
function getSecurity()
{
return $this->secArray;
}
}
?>