Rumah  >  Soal Jawab  >  teks badan

PHP - kelas pengecualian tidak ditemui - ruang nama yang salah

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粉770375450P粉770375450234 hari yang lalu501

membalas semua(1)saya akan balas

  • P粉642920522

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

    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.

    balas
    0
  • Batalbalas