Ich verwende Composer zum Verwalten von Abhängigkeiten in meinem Drupal-Modul. Ich habe meine Abhängigkeit in der Datei composer.json angegeben, die sich im Stammverzeichnis meines Moduls befindet. Nach dem Ausführen des composer install
Befehls werden alle Abhängigkeiten korrekt installiert. Das automatische Laden scheint jedoch nicht zu funktionieren.
Ich habe hier mehrere Threads überprüft, die sich mit dem Problem befassen, und festgestellt, dass die meisten von ihnen die Verwendung des verfügbaren Composer-Manager- Moduls vorschlagen, obwohl auf der Modulseite auf drupal.org angegeben ist, dass es aufgrund der verbesserten Verwendung von Composer durch Drupal seit Version 8.1 veraltet ist
Hier ist meine composer.json-Datei im Stammverzeichnis meines Moduls:
{
"name": "activit/facebook_ratings",
"description": "Display a feed of your Facebook fanpage's ratings on your website.",
"type": "drupal-module",
"require": {
"facebook/graph-sdk": "^5.4"
},
"license": "MIT",
"authors": [
{
"name": "Robert Balasko",
"email": "rbalasko@activit.sk"
}
]
}
und eine Factory-Klasse im Stammverzeichnis des src- Verzeichnisses, die versucht, eine Klasse aus dem graph-sdk zu laden.
<?php namespace Drupal\facebook_ratings;
use Drupal\Core\Logger\LoggerChannelFactoryInterface;
use Facebook\Facebook;
class FacebookConnectorFactory {
private $logger_factory;
public function __construct(LoggerChannelFactoryInterface $logger_factory) {
$this->logger_factory = $logger_factory;
}
public function getFacebookService($app_id, $app_secret) {
if (!$app_id || !$app_secret) {
$this->logger_factory
->get('facebook_ratings')
->error('Undefined App ID or App secret');
return FALSE;
}
return new Facebook([
'app_id' => $app_id,
'app_secret' => $app_secret,
'default_graph_version' => 'v2.6',
]);
}
}
Das Ergebnis ist ein class not found
Fehler, wenn ich meinen Code ausführe. Sollte die Abhängigkeit nicht automatisch geladen werden oder mache ich etwas falsch?
Vielen Dank.