PHP - 找不到異常類別 - 錯誤的命名空間
P粉770375450
P粉770375450 2024-03-22 12:41:34
0
1
498

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

全部回覆(1)
P粉642920522

您需要寫:

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

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

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

use \context_block;

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

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!