Some checks failed
🚀 Build & Deploy Image / Determine Build Necessity (push) Failing after 10m14s
🚀 Build & Deploy Image / Build Runtime Base Image (push) Has been skipped
🚀 Build & Deploy Image / Build Docker Image (push) Has been skipped
🚀 Build & Deploy Image / Run Tests & Quality Checks (push) Has been skipped
🚀 Build & Deploy Image / Auto-deploy to Staging (push) Has been skipped
🚀 Build & Deploy Image / Auto-deploy to Production (push) Has been skipped
Security Vulnerability Scan / Check for Dependency Changes (push) Failing after 11m25s
Security Vulnerability Scan / Composer Security Audit (push) Has been cancelled
- Remove middleware reference from Gitea Traefik labels (caused routing issues) - Optimize Gitea connection pool settings (MAX_IDLE_CONNS=30, authentication_timeout=180s) - Add explicit service reference in Traefik labels - Fix intermittent 504 timeouts by improving PostgreSQL connection handling Fixes Gitea unreachability via git.michaelschiemer.de
69 lines
1.6 KiB
PHP
69 lines
1.6 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace App\Framework\Display\ValueObjects;
|
|
|
|
/**
|
|
* Information about a class method
|
|
*/
|
|
final readonly class MethodInfo
|
|
{
|
|
/**
|
|
* @param array<string> $parameters
|
|
* @param array<string> $attributes
|
|
*/
|
|
public function __construct(
|
|
public string $name,
|
|
public int $visibility,
|
|
public string $returnType,
|
|
public array $parameters,
|
|
public bool $isStatic,
|
|
public bool $isAbstract,
|
|
public bool $isFinal,
|
|
public array $attributes = [],
|
|
) {
|
|
}
|
|
|
|
public function isPublic(): bool
|
|
{
|
|
return ($this->visibility & \ReflectionMethod::IS_PUBLIC) !== 0;
|
|
}
|
|
|
|
public function isProtected(): bool
|
|
{
|
|
return ($this->visibility & \ReflectionMethod::IS_PROTECTED) !== 0;
|
|
}
|
|
|
|
public function isPrivate(): bool
|
|
{
|
|
return ($this->visibility & \ReflectionMethod::IS_PRIVATE) !== 0;
|
|
}
|
|
|
|
public function getVisibilityString(): string
|
|
{
|
|
if ($this->isPublic()) {
|
|
return 'public';
|
|
}
|
|
if ($this->isProtected()) {
|
|
return 'protected';
|
|
}
|
|
if ($this->isPrivate()) {
|
|
return 'private';
|
|
}
|
|
|
|
return 'unknown';
|
|
}
|
|
|
|
public function getSignature(): string
|
|
{
|
|
$params = implode(', ', $this->parameters);
|
|
$static = $this->isStatic ? 'static ' : '';
|
|
$visibility = $this->getVisibilityString();
|
|
$return = $this->returnType !== '' ? ': ' . $this->returnType : '';
|
|
|
|
return $static . $visibility . ' function ' . $this->name . '(' . $params . ')' . $return;
|
|
}
|
|
}
|
|
|