搜尋

首頁  >  問答  >  主體

PHP - 找不到異常類別 - 錯誤的命名空間

透過「外部」實例化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粉770375450P粉770375450239 天前507

全部回覆(1)我來回復

  • P粉642920522

    P粉6429205222024-03-23 09:09:32

    您需要寫:

    if (has_capability('moodle/block:edit', \context_block::instance($blockid)) {}

    使用「\」字元聲明 context_block 位於頂級命名空間中。

    或您需要將以下內容放在文件頂部:

    use \context_block;

    我個人比較喜歡第一個選項,但這通常是個人喜好的問題。

    回覆
    0
  • 取消回覆