Setelah membuat antarmuka sederhana di modul baru saya. Saya mengetik pengaturan bin / magento: di: compile, dan saya mendapatkan pesan kesalahan yang mengatakan bahwa nama tersebut sudah digunakan.
Ini kode saya:
namespace Company\Test\Api;
/*
* @api
*/
interface XyzInterface {
public function getSomething();
}
Maka saya mendapatkan kesalahan ini:
Repositories code generation... 1/7 [====>-----------------------] 14% 2 secs 52.0 MiBPHP
Fatal error: Cannot declare interface Company\Test\Api\XyzInterface, because the name is already in use in .../app/code/Company/Test/Api/XyzInterface.php on line 13
Barisnya adalah "antarmuka XyzInterface" Saya tidak yakin apa yang saya lakukan salah.
Jawaban:
Hari ini saya menerima kesalahan tipe yang sama:
di mana baris 100 adalah akhir file.
Kira-kira setelah 4 jam debugging saya benar-benar menemukan alasannya: salah cetak dalam deklarasi namespace. Hingga saat terakhir saya tidak percaya bahwa itu adalah kesalahan ketik dalam deklarasi nama, tetapi ketika saya telah menulis ulang semua nama lagi - kesalahan telah hilang. Artikel ini sangat membantu:
Terima kasih, Alan Storm :)
MEMPERBARUI:
Tipe lain dari kesalahan itu adalah deklarasi Namespace yang salah dengan bagian namespace yang hilang, seperti dalam contoh ini:
Kesalahan:
di mana baris 109 adalah akhir file.
Dalam file tersebut
vendor/magento/data-migration-tool/tests/unit/testsuite/Migration/Step/UrlRewrite/Version11410to2000Test.php
kami menemukan namespace sepertiMigration\Step
ketika namespace yang benar seharusnyaMigration\Step\UrlRewrite
karena path ke kelas iniMigration/Step/UrlRewrite
. Setelah mengubah namespace keMigration/Step/UrlRewrite
kesalahan hilang.sumber