私が作成しているプラグイン システムでは、データベース API を作成する必要があります。しかし、データベースへのアクセスを制限したいので、プラグインは特定の関数で作成したテーブル以外のテーブルを見ることができません。プラグインが SQL を使用できるようにするにはどうすればよいですか?ただし、同時にフル アクセスを許可することはできません。
これはいくつかのコードです。動作しない可能性がありますが、その背後にあるアイデアを示しています。
class Api_Database {
    private $pluginid;
    function __construct($pluginid) {
        $this->pluginid = $pluginid;
    } 
    function query($sql, $tablename) {
        $db = new Sys_Database;
        $db->query(str_replace('{table}', $pluginid.$tablename, $sql));
    }
}
ここで正しい方向に考えていますか?より安全なシステムをどのように作成しますか?