Hallo zusammen,
ich versuche gerade eine meiner Erweiterungen von Contao 3.5 auf Contao 4.8 zu portieren und verzweifle gerade an einer Fehlermeldung, die für mich keinen Sinn ergibt. Möglicherweise habe ich aber noch nicht alle Zusammenhänge zwischen Contao, Symfony und den Namespaces verstanden. Bisher hat alles wunderbar funktioniert. Ich scheitere jedoch zurzeit an der Einbindung einer zusätzlichen Klasse.
Die composer.json des Bundles sieht wie folgt aus:
Über Autoload wurde der Ordner "src/" angegeben. Im Ordner "src/Model" liegt die Datei "PrMatchPlayerModel.php".Code:{ "name":"bohnmedia/playerrating-bundle", "description":"Rate players for football matches", "keywords":["contao","json","api"], "type":"contao-bundle", "homepage":"https://bohn.media", "license":"MIT", "authors":[ { "name":"bohn.media", "homepage":"https://bohn.media", "role":"Developer" } ], "require": { "contao/core-bundle":">=4.8" }, "conflict": { "contao/core": "*", "contao/manager-plugin": "<2.0 || >=3.0" }, "extra": { "contao-manager-plugin": "BohnMedia\\PlayerRatingBundle\\ContaoManager\\Plugin" }, "autoload":{ "psr-4": { "BohnMedia\\PlayerRatingBundle\\": "src/" } } }
Innerhalb eines Scripts versuche ich nun auf diese Klasse zuzugreifen.PHP-Code:<?php
namespace BohnMedia\PlayerRatingBundle\Model;
use Contao\Model;
class PrMatchPlayerModel extends Model
{
protected static $strTable = 'tl_pr_match_player';
}
Leider erhalte ich beim Aufruf der Seite eine 500 Seite und folgenden Hinweis im LOG-File.PHP-Code:...
if ($rating >= 1 && $rating <= 6 && !$this->Session->get("playerrating_id".$id)) {
if ($result = \BohnMedia\PlayerRatingBundle\Model\PrMatchPlayerModel::findById($id))
{
...
Hat jemand eine Idee?Code:[2020-02-07 18:24:26] request.CRITICAL: Uncaught PHP Exception Symfony\Component\Debug\Exception\ClassNotFoundException: "Attempted to load class "PrMatchPlayerModel" from the global namespace. Did you forget a "use" statement for "BohnMedia\PlayerRatingBundle\Model\PrMatchPlayerModel"?" at /var/www/vhosts/bohn.media/spielerzeugnis.bohn.media/vendor/contao/core-bundle/src/Resources/contao/library/Contao/Model/Registry.php line 101 {"exception":"[object] (Symfony\\Component\\Debug\\Exception\\ClassNotFoundException(code: 0): Attempted to load class \"PrMatchPlayerModel\" from the global namespace.\nDid you forget a \"use\" statement for \"BohnMedia\\PlayerRatingBundle\\Model\\PrMatchPlayerModel\"? at /var/www/vhosts/bohn.media/spielerzeugnis.bohn.media/vendor/contao/core-bundle/src/Resources/contao/library/Contao/Model/Registry.php:101)"} []

Zitieren
Hätte ohne den Tipp vermutlich noch stundenlang gesucht.