मुझे यह त्रुटि मिलती रहती है क्योंकि मैं सिम्फनी 4 में एक नया पुन: प्रयोज्य बंडल बनाने का प्रयास करता हूं।

Compile Error: Cannot declare class App\ICatcher\Builder\ControlPanel, because the name is already in use
 (1/1) FatalErrorException Compile Error: Cannot declare class App\ICatcher\Builder\ControlPanel, because the name is already in use in ControlPanel.php line 23

ControlPanel.php:

namespace App\ICatcher\Builder;
use Symfony\Component\HttpFoundation\Response;
class ControlPanel extends Response {    
    public function index(){
        return new Response(
            '<html><body>TEST! BUNDLE!!</body></html>'
        );
    }    
}

मुख्य बंडल फ़ाइल:

namespace App\ICatcher\Builder;

use Symfony\Component\HttpKernel\Bundle\Bundle;

class Builder extends Bundle
{
}

संगीतकार:

"autoload": {
        "psr-4": {
            "App\\": "src/",
            "App\\ICatcher\\Builder\\":"src/ICatcher/Builder/src"
        }
    },

बंडल:

return [
    [...]  
    App\ICatcher\Builder\Builder::class => ['dev' => true,'test' => true],
];

UPD1: जब मैं संपूर्ण ControlPanel वर्ग पर टिप्पणी करता हूं, तो पृष्ठ को रीफ्रेश करें - त्रुटि गायब हो जाती है और जब मैं इसे फिर से असम्बद्ध करता हूं तो फिर से प्रकट नहीं होता है - यह कक्षा चलाता है और प्रतिक्रिया में टेक्स्ट दिखाता है। फिर अगर मैं संगीतकार अद्यतन चलाता हूं - यह उसी त्रुटि के साथ विफल रहता है और यदि मैं उसके बाद पृष्ठ को रीफ्रेश करता हूं - यह उसी त्रुटि के साथ फिर से विफल हो जाता है।

0
Anastasia Sitnina 10 सितंबर 2019, 15:56

1 उत्तर

सबसे बढ़िया उत्तर

आपको कंपोज़र.जेसन लाइन "App\\ICatcher\\Builder\\":"src/ICatcher/Builder/src" से हटाना होगा, क्योंकि आपके मामले में जब आप vendor/autoload.php को composer update कमांड द्वारा डंप करते हैं तो नेमस्पेस डुप्लिकेट हो जाता है।

0
zalex 13 सितंबर 2019, 19:52