Konstanter Name wird erwartet. Error

12

Ich erhalte diesen Fehler:

Nicht erfasste Ausnahme 'InvalidArgumentException' mit der Meldung 'Konstanter Name wird erwartet.

Während der Ausführung php bin/magento setup:upgradein der Befehlszeile.

Ich habe diesen http://awesomescreenshot.com/0535zi4648 Fehler.

het21
quelle

Antworten:

15

Ich denke ein Problem in Ihrem etc Ordner. Überprüfen Sie alle XML- Dateien. Konstanter Name sollte in CAPITALBuchstaben sein. Jede Ihrer Konstanten bleibt in kleinen Buchstaben. überprüfe es und korrigiere es. Hoffe das wird dein Problem lösen.

Ein Chauhan
quelle
12

Um Ihnen beim Debuggen zu helfen, würde ich vorschlagen , die Datei vorübergehend zu bearbeiten

vendor/magento/framework/Data/Argument/Interpreter/Constant.php

Davon...

public function evaluate(array $data) {
    if(!isset($data['value']) || !defined($data['value'])) {
        throw new \InvalidArgumentException('Constant name is expected.');
    }
    return constant($data['value']);
}

Dazu ...

public function evaluate(array $data) {
    if(!isset($data['value']) || !defined($data['value'])) {
        print_r($data);exit;                                                    // <<<<<<<<<<<<
        throw new \InvalidArgumentException('Constant name is expected.');
    }
    return constant($data['value']);
}

Dadurch werden Sie benachrichtigt, welche Klasse / Konstante Ihnen den Fehler verursacht:

Geben Sie hier die Bildbeschreibung ein

Hoffe es könnte jemand anderem helfen ;-) Bis dann

rou6e
quelle
11

In einem Fall, in dem sich Ihre Erweiterung im Ordner app / code befindet, wird diese Fehlermeldung angezeigt, wenn sich Ihr Ordnername vom Modulnamen nach Magento_ in module.xml unterscheidet

Beispiel: Wenn Ihr Modulname Magento_MyGreatModule lautet, muss Ihr Ordnername MyGreatModule sein .

masitko
quelle
Danke ! ein weiteres
gutes
Diese Antwort hat auch bei mir funktioniert.
Arfeen
Vielen Dank! Ich bin auf dieses gestoßen, nachdem ich mein Modul umbenannt habe.
Giel Berkers
3

Wie bereits in den vorherigen Antworten angegeben, liegt dies höchstwahrscheinlich an einem Fehler in einer Ihrer Konfigurationsdateien. Dieser Fehler wird beispielsweise ausgelöst, wenn Sie Folgendes tun, ohne eine Klasse zu haben, die die Konstante deklariert (beachten Sie die ::CODEDeklaration):

<!-- etc/di.xml -->
<virtualType name="ExamplePaymentGatewayConfig" type="Magento\Payment\Gateway\Config\Config">
  <arguments>
    <argument name="methodCode" xsi:type="const">\Company\Example\Model\Ui\ConfigProvider::CODE</argument>
  </arguments>
</virtualType> 
Cyclonecode
quelle