Nama konstan diharapkan. Kesalahan

12

Saya menerima kesalahan ini:

Pengecualian tanpa tertangkap 'InvalidArgumentException' dengan pesan 'Nama konstan diharapkan.

Saat berjalan php bin/magento setup:upgradedi baris perintah.

saya mendapatkan kesalahan http://awesomescreenshot.com/0535zi4648 ini .

h21
sumber

Jawaban:

16

Saya pikir beberapa masalah di folder Anda dll . periksa semua file xml . Nama konstan harus dalam CAPITALhuruf. setiap konstanta Anda tetap dalam huruf kecil. periksa dan perbaiki. Semoga ini akan menyelesaikan Masalah Anda.

Sebuah chauhan
sumber
13

Untuk membantu Anda men-debug apa yang terjadi, saya akan menyarankan untuk mengedit file sementara

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

Dari ini...

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

Untuk ini...

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']);
}

Dengan demikian Anda akan diberi tahu tentang kelas / konstanta mana yang menyebabkan Anda melakukan kesalahan:

masukkan deskripsi gambar di sini

Semoga bisa membantu orang lain ;-) Sampai jumpa

rou6e
sumber
11

Dalam kasus ketika ekstensi Anda di folder aplikasi / kode Anda akan mendapatkan kesalahan ini jika nama folder Anda berbeda dari nama modul setelah Magento_ di module.xml

sebagai contoh: jika nama modul Anda adalah Magento_MyGreatModule nama folder Anda harus MyGreatModule .

Masitko
sumber
Terima kasih ! contoh hebat lain dari pesan kesalahan menyesatkan ...
medmek
Jawaban ini juga berhasil untuk saya.
Arfeen
Terima kasih! Bertabrakan dengan yang ini setelah saya mengganti nama modul saya.
Giel Berkers
3

Seperti sudah dinyatakan dalam jawaban sebelumnya, ini kemungkinan besar karena beberapa kesalahan dalam salah satu file konfigurasi Anda. Misalnya, kesalahan ini dipicu ketika Anda melakukan hal berikut tanpa kelas yang menyatakan konstanta (perhatikan ::CODEdeklarasi):

<!-- 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
sumber