透過「外部」實例化moodle之後
require_once('../config.php');
在應用程式(即MRBS)內的SSO 場景中,當查找目前登入的使用者是否對特定區塊具有某些功能時,我收到錯誤: Exception - 類別“MRBS\Session\context_block”未找到
:
if (has_capability('moodle/block:edit', context_block::instance($blockid)){}
我猜是因為命名空間設定為namespace MRBS\Session;
如何正確引用context_block::instance()
?
Moodle 函數顯然可以工作(例如 require_login()、has_capability)。 謝謝
P粉6429205222024-03-23 09:09:32
您需要寫:
if (has_capability('moodle/block:edit', \context_block::instance($blockid)) {}
使用「\」字元聲明 context_block 位於頂級命名空間中。
或您需要將以下內容放在文件頂部:
use \context_block;
我個人比較喜歡第一個選項,但這通常是個人喜好的問題。