Documentation

ParserRegistry

Registry for parser implementations.

Handles parser discovery, registration, and instantiation. Provides methods to select the appropriate parser for a language.

Tags
since
3.0.0

Table of Contents

Constants

DEFAULT_PARSER  = 'regex'

Properties

$externalLoader  : ExternalParserLoader|null
$parsers  : array<string, ParserInterface>

Methods

__construct()  : mixed
Create a new parser registry with default parsers.
get()  : ParserInterface|null
Get a parser by type.
getAll()  : array<string, ParserInterface>
Get all registered parsers.
getAvailable()  : array<string, ParserInterface>
Get all available parsers (those that can run on this system).
getDefaultType()  : string
Get the default parser type.
getParserForLanguage()  : ParserInterface
Get a parser for a language, with fallback to default.
getParserInfo()  : array<string, array{type: string, name: string, available: bool, message: string}>
Get parser information for UI display.
has()  : bool
Check if a parser type is registered.
register()  : void
Register a parser.
resolveParserType()  : string
Resolve the parser type for a language.
resolveParserTypeFromRow()  : string
Resolve parser type from a database row.
registerDefaultParsers()  : void
Register the default built-in parsers.
registerExternalParsers()  : void
Register external parsers from the configuration file.

Constants

DEFAULT_PARSER

private string DEFAULT_PARSER = 'regex'

Default parser type when none specified

Properties

Methods

getAvailable()

Get all available parsers (those that can run on this system).

public getAvailable() : array<string, ParserInterface>
Return values
array<string, ParserInterface>

Available parsers indexed by type

getDefaultType()

Get the default parser type.

public getDefaultType() : string
Return values
string

Default parser type

getParserInfo()

Get parser information for UI display.

public getParserInfo() : array<string, array{type: string, name: string, available: bool, message: string}>
Return values
array<string, array{type: string, name: string, available: bool, message: string}>

has()

Check if a parser type is registered.

public has(string $type) : bool
Parameters
$type : string

Parser type identifier

Return values
bool

True if parser is registered

resolveParserType()

Resolve the parser type for a language.

public resolveParserType(Language $language) : string

Determines which parser to use based on language settings. Supports both explicit parser type and legacy detection.

Parameters
$language : Language

Language entity

Return values
string

Resolved parser type

resolveParserTypeFromRow()

Resolve parser type from a database row.

public resolveParserTypeFromRow(array<string, mixed> $row) : string
Parameters
$row : array<string, mixed>

Database row with Lg* prefixed columns

Return values
string

Resolved parser type

registerDefaultParsers()

Register the default built-in parsers.

private registerDefaultParsers() : void

registerExternalParsers()

Register external parsers from the configuration file.

private registerExternalParsers() : void

External parsers are loaded from config/parsers.php. This method creates ExternalParser instances for each configured parser.


        
On this page

Search results