アクセス許可などを確認できるスクリプトを作成していて、奇妙なことに遭遇しました。
私の許可スクリプトは、システムと機能をチェックし、ユーザーが m を使用できるかどうかを確認できます。
いくつかのコードで説明します:
if(permission::check('factbounce', 'magklik')){
echo ' Yep good ';
} else {
echo 'Nope not good';
}
ここでは、システム ファクトバウンスと関数 magklik をパーミッション クラス内に配置しています。
public static function check($systemCode, $functionCode = null ){
$instance = self::get();
if($instance->checkSystem($systemCode)){
if(is_null($functionCode))
return true;
if(!$instance->checkSystemFunction($functionCode))
return false;
return true;
}
return false;
}
このコードは をトリガーcheckSystemFunction
し、magklik をチェックします。
private function checkSystemFunction ( $functionCode ){
if(!self::$oSystemFunction)
self::$oSystemFunction = org_system_function::getByCode($functionCode);
if(!is_object(self::$oSystemFunction));
echo 'No Object';
echo '<pre>'.print_r(self::$oSystemFunction, true).'</pre>';
if(!self::$oSystemPermission->checkFunctionPermission(self::$oMedewerker, self::$oSystemFunction))
return false;
return true;
}
コードの出力は次のとおりです。
No Object
org_system_function Object
(
[primaryKey] => org_system_function_id
[table] => org_system_function
[arAssoc] => Array
(
[function_id] => 1
[name] => May click around
[code] => magklik
[description] => do what you want
)
)
Yep good
オブジェクトがないと言われる理由がわかりません。印刷すると明らかにオブジェクトです。