0

ファイルの上部で、ユーザー権限を確認したいと思います。たとえば、ログインしている場合、ユーザーがページにアクセスできる場合、どのコンテンツがユーザーに表示されているか、コンテンツがユーザー自身によって公開されているかどうか、必要なすべてのパラメーターが設定されているかどうかを確認します。渡された(例:POST-vars)など。

したがって、質問は、何を提案するのが最善の方法であるかということでした(コードが読みやすく理解しやすいままであり、すべてのページに実装できるように特別なページに特定されすぎていないこと、多くのチェックでデータベースクエリが必要なパフォーマンスなど) 。)

私が尋ねている理由は、今私がこのようなsthをしているからです:

if($logged_in!=1) {$error="err1";}

else {
    if(...) {...}
    else {...}
}

したがって、基本的に、1つのチェックでアクセスが拒否された場合、コードは他のすべてのコードを通過せず、ifすぐに中断します。私は使用しないexitdie、ページを表示したいので(コンテンツは含まれていませんが、エラーボックスが表示されます)、使用した場合、exitまたはdie以下の他のコードが表示されない場合は...

あなたは何をすることを提案しますか?

ご助力ありがとうございます。

4

1 に答える 1

1

ええと、if/else構造は巨大で実際には読めない傾向があります。Exceptions基本的に、障害の場合に使用することを検討できます。

<?php
try {

   if($logged_in!=1) {
      throw new Exception("You must be logged in");
   }

   if(!another_condition()) {
      throw new Exception("Another condition failed");
   }

   do_something();
}
catch (Exception $error) {
   display_error_page($error->getMessage());
}

一般に、これでさえ最も美しい方法ではありません。これらの状況自体が、オブジェクト指向の必要性の完璧な例です。

参照:

http://php.net/manual/en/language.oop5.php

http://php.net/manual/en/language.exceptions.php

于 2012-06-03T13:37:27.100 に答える