recherche

Maison  >  Questions et réponses  >  le corps du texte

PHP - classe d'exception introuvable - espace de noms incorrect

Après avoir instancié Moodle via "externe"

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

Dans un scénario SSO au sein d'une application (c'est-à-dire MRBS), lorsque je recherche si l'utilisateur actuellement connecté dispose de certaines capacités pour un bloc spécifique, j'obtiens l'erreur : Exception - 类“MRBSSessioncontext_block”未找到 :

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

Je suppose que c'est parce que l'espace de noms est défini sur namespace MRBSSession;

Comment citer context_block::instance() correctement ?

Les fonctions Moodle fonctionnent apparemment (par exemple require_login(), has_capability). Merci

P粉770375450P粉770375450308 Il y a quelques jours587

répondre à tous(1)je répondrai

  • P粉642920522

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

    Vous devez écrire :

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

    Déclarez context_block dans l'espace de noms de niveau supérieur en utilisant le caractère "".

    Ou vous devez mettre ce qui suit en haut du fichier :

    use \context_block;

    Personnellement, je préfère la première option, mais c'est généralement une question de préférence personnelle.

    répondre
    0
  • Annulerrépondre