2016-09-29 2 views
1

Ich versuche, einen einfachen Dienst in Symfony 3 (tuto Beispiel)Runtime wenn Betriebslast in symfony

zu erstellen Wenn ich meine Seite laufen lasse, erhalte ich diesen Fehler:

Der Autoloader erwartete Klasse SocialBundle \ Services \ OCAntispam soll in der Datei .. ../src/SocialBundle/Services/OCAntispam.php als definiert sein. Die Datei wurde gefunden, aber die Klasse war nicht darin enthalten, der Klassenname oder Namensraum hat wahrscheinlich einen Tippfehler.

ich strikt an das Tutorial (auf Französisch) Hergestellt von Sensio Labs

Mein Service-Code ist

namespace SocialBundle\Antispam; 

class OCAntispam 
{ 
    public function isSpam($text) 
    { 
    return strlen($text) < 50; 
    } 
} 

In meinem Controller

$antispam = $this->container->get('social.antispam'); 

Und die services.yml

social.antispam: 
     class: SocialBundle\Services\OCAntispam 

Wenn es ein Tippfehler-Fehler ist, ich bin blind

Vielen Dank für jede Unterstützung

EDIT:

Auf meinem Dienst habe ich versucht, diesen Code:

namespace SocialBundle\Services\Antispam; 
namespace SocialBundle\Services\OCAntispam; 

Ohne Erfolg

+0

SocialBundle \ Services vs SocialBundle \ Antispam Können Sie den Unterschied erkennen? – Cerad

+0

Ich änderte Namespace SocialBundle \ Antispam zu Namespace SocialBundle \ Services \ Antispam und Namespace SocialBundle \ Services \ OCAntispam Der Fehler ist immer noch hier – user3279327

+0

Aktualisieren Sie Ihre Frage mit den Änderungen. Was du gerade geschrieben hast, ergibt keinen Sinn. Ich wette, wenn Sie genauer hinsehen, werden Sie die Fehlermeldung ändern. – Cerad

Antwort

2

Ändern Sie namespace in der Serviceklasse wie folgt.

namespace SocialBundle\Services; 

class OCAntispam 
{ 
    public function isSpam($text) 
    { 
    return strlen($text) < 50; 
    } 
} 

Die in Class definiert namespace sollte Class Namen nicht haben.

Und stellen Sie sicher, dass Ihre Datei OCAntispam.php unter SocialBundle\Services ist.

Das sollte funktionieren.

+0

Es ist das. Vielen Dank – user3279327