1. YoureCom
    1. Über mich
  2. Lösungen
    1. Tipprunde
    2. Aufgaben & Support
    3. Mitglieder-Netzwerk
    4. Online-Shop
    5. Alle Lösungen & Preise
  3. Für Admins
    1. Plugins
    2. ByteMon
    3. ByteMon: Community verwalten
    4. ByteMon: Portalidentität
    5. Individuelle Entwicklung
    6. WSC 6.3 Alpha
    7. GitHub
  4. Neuigkeiten
    1. Kurzmeldungen
  5. Support
  6. Mein Konto
  7. Lösungen testen
  • Anmelden
  • Registrieren
  • Warenkorb 0
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Aufgaben
  • Produkte
  • Pulse-Beiträge
  • Erweiterte Suche
  1. YoureCom – Software für Vereine, Teams & Communities
  2. Repository-Liste
  3. de.yourecom.wcf.api.mpdf

YoureCom Standard automatisch aktualisiert (verwaltete Dateien aus _dev/standard)

  • Marcel Beckers
  • -4 Löschungen
  • +22 Hinzufügungen
  • 26 Gesamt
  • 1 Dateien
  • 22. Oktober 2026 um 06:52
  • tests/lint/check-comments.php
    <pre>@@ -9,6 +9,8 @@
    * method body, floating, a file header) is a violation.
    * - Every function/method needs either such a comment or #[\Override] (valid for a parent class, an interface or a
    * trait method alike, PHP checks this itself at compile time) - never neither.
    + * - Constructors only get `/** @inheritDoc *\/` (no descriptive line): they would be #[\Override], which PHP does not
    + * allow there (constructor-inheritdoc, Marcel 22.10.2026).
    * - _dev/standard itself is exempt (tooling documentation needs more room, Marcel 21.10.2026: "ist mir egal").
    *
    * Known findings that cannot be fixed yet are listed in tests/lint/config.php (`commentsKnown`: relative file => list
    @@ -31,14 +33,18 @@
    $messages["{$file}|{$rule}"] ??= "{$file}: [{$rule}] {$message}";
    };
    -/** Strips comment delimiters and asterisks, returns null if the descriptive text (without PHPStan/TSDoc tags) is one line. */
    -$tooLong = static function (string $text): ?string {
    +/** Strips comment delimiters and asterisks, returns the descriptive lines (without PHPStan/TSDoc tags). */
    +$descriptive = static function (string $text): array {
    $lines = \preg_split('~\R~', $text) ?: [];
    $lines = \array_map(static fn (string $line): string => \trim($line, " \t*/"), $lines);
    $lines = \array_values(\array_filter($lines, static fn (string $line): bool => $line !== ''));
    - $descriptive = \array_values(\array_filter($lines, static fn (string $line): bool => !\preg_match('~^@[a-zA-Z]~', $line)));
    - return \count($descriptive) > 1 ? 'mehr als eine beschreibende Zeile' : null;
    + return \array_values(\array_filter($lines, static fn (string $line): bool => !\preg_match('~^@[a-zA-Z]~', $line)));
    +};
    +
    +/** Returns null if the descriptive text of a comment is at most one line. */
    +$tooLong = static function (string $text) use ($descriptive): ?string {
    + return \count($descriptive($text)) > 1 ? 'mehr als eine beschreibende Zeile' : null;
    };
    // an attribute group "#[...]" can itself contain "]" inside strings/nested brackets; conservative bracket counting
    @@ -103,6 +109,7 @@
    $line = $token[2];
    $hasOverride = false;
    $hasComment = false;
    + $comment = null;
    $j = $i - 1;
    while ($j >= 0) {
    $previous = $tokens[$j];
    @@ -112,6 +119,7 @@
    }
    if (\is_array($previous) && \in_array($previous[0], [\T_COMMENT, \T_DOC_COMMENT], true)) {
    $hasComment = $tooLong($previous[1]) === null;
    + $comment = $previous[1];
    break;
    }
    $text = \is_array($previous) ? $previous[1] : $previous;
    @@ -129,6 +137,16 @@
    }
    break;
    }
    + $k = $i + 1;
    + while (\is_array($tokens[$k] ?? null) && $tokens[$k][0] === \T_WHITESPACE) {
    + $k++;
    + }
    + if (\is_array($tokens[$k] ?? null) && \strtolower($tokens[$k][1]) === '__construct') {
    + if ($comment === null || !\str_contains($comment, '@inheritDoc') || $descriptive($comment) !== []) {
    + $report($relative, 'constructor-inheritdoc', "Zeile {$line}: Konstruktor braucht nur /** @inheritDoc */ (kein Text, #[\\Override] erlaubt PHP dort nicht)");
    + }
    + continue;
    + }
    if (!$hasOverride && !$hasComment) {
    $report($relative, 'function-needs-comment-or-override', "Zeile {$line}: Funktion ohne Kommentar und ohne #[\\Override]");
    }

Bereit, deine Community smarter zu machen?

Ob fertiges Produkt oder individuelle Softwarelösung – überzeuge dich selbst.

Jetzt kaufen Demo testen

Direkter Support vom Entwickler

Zuletzt erledigte Aufgaben

  1. Overlay beim Verschieben eines Themas Clan Verwaltung Clan Verwaltung: Foren

    Marcel Beckers Erledigt am 23. Oktober 2026 um 22:10
  2. Feature-Wunsch: Einführung von Tippgemeinschaften / Team-Wertung (Team-Tippen) Wettbewerbe Basissystem Wettbewerbe: Tippspiel

    villain Erledigt am 22. Oktober 2026 um 08:15
  3. Verschiebung zwischen Clanforen/WSB Clan Verwaltung Clan Verwaltung: Foren

    Marcel Beckers Erledigt am 22. Oktober 2026 um 00:12
  4. Massenbearbeitung von Clans Clan Verwaltung

    Marcel Beckers Erledigt am 22. Oktober 2026 um 00:10
  5. Synchronisation zwischen Clan und Benutzergruppe erweitern Clan Verwaltung

    Marcel Beckers Erledigt am 21. Oktober 2026 um 23:59
  6. Überarbeitung der eigenen Events Clan Verwaltung

    Marcel Beckers Erledigt am 21. Oktober 2026 um 23:40
Arbeitsplatz
YoureCom – Software für Vereine, Teams & Communities

YoureCom – Software für Vereine, Teams & Communities. Seit 2004.

Fertig eingerichtete Lösungen für Verein, Team und Community, dazu Erweiterungen für die WoltLab Suite. Aus Wuppertal, für Kunden weltweit.

Lösungen

  • Tipprunde
  • Aufgaben & Support
  • Mitglieder-Netzwerk
  • Online-Shop
  • Alle Lösungen & Preise

Für Administratoren

  • Plugins
  • Clan Verwaltung
  • Wettbewerbe
  • MultiHunter
  • ByteMon
  • Individuelle Entwicklung

YoureCom

  • Über mich
  • Shop
  • Kontakt
  • Neuigkeiten
  • GitHub

Cloud-Verträge

  • AGB Cloud
  • AVV Cloud
  • Rechtswidrige Inhalte melden
  • Datenwechsel

Rechtliches

  • Datenschutzerklärung
  • Impressum
  • AGB
  • Vertrag widerrufen
  • Abonnements kündigen
  • Widerrufsbelehrung
© 2026 YoureCom · Marcel Beckers