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 .

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.


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


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 .


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> 
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.