この質問は何度も聞かれていることを知っていますが、より良いコードを書くことを学んでいるので. だからいくつかの提案が必要です。
以下に示すようなコントローラーとメソッドがあるとします。
:Account
login();
home();
manage_user();
logout();
:Company
add();
view();
edit();
delete();
:Service
add();
delete();
:Page
default();
about_us();
contact_us();
これらのメソッド/ページにアクセスする権限を指定する必要がある 3 種類のユーザー グループ (システム管理者、企業ユーザー、一般ユーザーなど) があります。
私はデータベース構造を持っています
group(id, name);
user(id, parent_id, group_id, company_id, username, password, email);
permission(id, group_id, uri, allowed);
uri フィールドには、「company/add」、「service/add」、「company/view」などの値が含まれる場合があります。
メソッド check_permission() を持つ User として自動ロードされたライブラリ クラスがあり、このメソッドは MY_Controller コンストラクターで呼び出されました。
私の質問は、アクセスを許可するためにコントローラー/関数をデータベースフィールドにマッピングすることは良い習慣ですか? または、これよりも効率的な他のオプションはありますか?