Hallo,
wollte mich heute mal mit der Komponentenentwicklung für Joomla 4 beschäftigen und hab ein an sich ganz gutes Tutorial von Astrid Günther gefunden. Soweit so gut, nur leider hakt es bereits bei der ersten Ansicht im Backend. Joomla sagt mir:
ZitatClass 'EventNamespace\Component\Events\Administrator\Extension\EventsComponent' not found
Danach kommt die Call-Stack Liste, da listet er mir die Datei "JROOT/administrator/components/com_events/services/provider.php:34" auf. Hab schon alles überprüft, steht aber irgendwie auf dem Schlauch. Hier die provider.php:
Code
\defined('_JEXEC') or die;
use Joomla\CMS\Dispatcher\ComponentDispatcherFactoryInterface;
use Joomla\CMS\Extension\ComponentInterface;
use Joomla\CMS\Extension\Service\Provider\CategoryFactory;
use Joomla\CMS\Extension\Service\Provider\ComponentDispatcherFactory;
use Joomla\CMS\Extension\Service\Provider\MVCFactory;
use Joomla\CMS\HTML\Registry;
use Joomla\DI\Container;
use Joomla\DI\ServiceProviderInterface;
use EventNamespace\Component\Events\Administrator\Extension\EventsComponent;
/**
* The foos service provider.
* https://github.com/joomla/joomla-cms/pull/20217
*
* @since 1.0.0
*/
return new class implements ServiceProviderInterface
{
/**
* Registers the service provider with a DI container.
*
* @param Container $container The DI container.
*
* @return void
*
* @since 1.0.0
*/
public function register(Container $container)
{
$container->registerServiceProvider(new CategoryFactory('\\EventNamespace\\Component\\Events'));
$container->registerServiceProvider(new MVCFactory('\\EventNamespace\\Component\\Events'));
$container->registerServiceProvider(new ComponentDispatcherFactory('\\EventNamespace\\Component\\Events'));
$container->set(
ComponentInterface::class,
function (Container $container) {
$component = new EventsComponent($container->get(ComponentDispatcherFactoryInterface::class));
$component->setRegistry($container->get(Registry::class));
return $component;
}
);
}
};
Alles anzeigen
Noch als Hinweis: Ich arbeite derzeit Lokal mit MAMP auf OS X.
Kann mir jemand einen Tipp geben oder kennt jemand noch ein gutes Tutorial?
Mirko