PHP - kelas pengecualian tidak ditemui - ruang nama yang salah
P粉770375450
P粉770375450 2024-03-22 12:41:34
0
1
515

Selepas menimbulkan moodle melalui "luaran"

require_once('../config.php');

Dalam senario SSO dalam aplikasi (iaitu MRBS), apabila mencari sama ada pengguna yang sedang log masuk mempunyai keupayaan tertentu untuk blok tertentu, saya mendapat ralat: Exception - 类“MRBSSessioncontext_block”未找到 :

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

Saya rasa ini kerana ruang nama ditetapkan kepada namespace MRBSSession;

Bagaimana cara memetik context_block::instance() dengan betul?

Fungsi Moodle nampaknya berfungsi (cth. require_login(), has_capability). Terima kasih

P粉770375450
P粉770375450

membalas semua(1)
P粉642920522

Anda perlu menulis:

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

Isytihar context_block dalam ruang nama peringkat atas menggunakan aksara "".

Atau anda perlu meletakkan perkara berikut di bahagian atas fail:

use \context_block;

Saya secara peribadi lebih suka pilihan pertama, tetapi itu biasanya soal keutamaan peribadi.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan