Ich versuche gerade auf Basis des Skeleton Bundles ein eigenes HelloWorldBundle zu erstellen. Dabei habe ich ein Problem mit der DependencyInjection genauer gesagt mit der Extension Datei unter "src/DependencyInjection", die die "services.yml" laden soll.
Meine Extension Datei scheint nicht eingebunden zu werden. Ich kann die Services, die ich in der services.yml definiere nicht nutzen und wenn ich in der load-Methode der Extension Datei zum Testen eine Exception auslöse oder ein exit schreibe, wird auch das nicht ausgeführt.
In der Symfony Dokumentation stehen die Konventionen, die eingehalten werden müssen, damit die Extension Datei automatisch geladen wird: https://symfony.com/doc/current/bundles/extension.html
Hier der Code meiner Datei. Mein Vendor Name ist "JoergMoldenhauer" mein Bundle Name ist "ContaoHelloWorldBundle".
src/DependencyInjection/JoergMoldenhauerContaoHelloWorldExtension.php
Sieht jemand den Fehler? Oder liegt es vielleicht daran, dass ich die Datei anfangs, als ich meine Erweiterung mit Composer installiert habe, noch unter einem anderen (den Konventionen nicht entsprechenden) Namen hatte? Ich habe schon versucht, den Cache zu leeren und die Autoload Dateien neu zu erstellen mit:PHP-Code:
namespace JoergMoldenhauer\ContaoHelloWorldBundle\DependencyInjection;
use Symfony\Component\Config\FileLocator;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Extension\Extension;
use Symfony\Component\DependencyInjection\Loader\YamlFileLoader;
class JoergMoldenhauerContaoHelloWorldExtension extends Extension
{
/**
* {@inheritdoc}
*/
public function load(array $mergedConfig, ContainerBuilder $container)
{
$loader = new YamlFileLoader(
$container,
new FileLocator(__DIR__.'/../Resources/config')
);
$loader->load('services.yml');
}
}
vendor/bin/contao-console cache:clear
composer install --optimize-autoloader
Lesezeichen