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.

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.


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


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 .


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> 
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.