XmlFileLoader
class XmlFileLoader extends FileLoader
XmlFileLoader loads XML routing files.
Constants
NAMESPACE_URI | |
SCHEME_PATH | |
Properties
Methods
LoaderResolverInterface | getResolver() Gets the loader resolver. | from Loader |
| setResolver(LoaderResolverInterface $resolver) Sets the loader resolver. | from Loader |
mixed | import(mixed $resource, string|null $type = null, bool $ignoreErrors = false, string|null $sourceResource = null) Imports a resource. | from FileLoader |
$this|LoaderInterface | resolve(mixed $resource, string|null $type = null) Finds a loader able to load an imported resource. | from Loader |
| __construct(FileLocatorInterface $locator) | from FileLoader |
| setCurrentDir(string $dir) Sets the current directory. | from FileLoader |
FileLocatorInterface | getLocator() Returns the file locator used by this loader. | from FileLoader |
| glob(string $pattern, bool $recursive, $resource = null, bool $ignoreErrors = false) | from FileLoader |
| load(string $file, string|null $type = null) Loads an XML file. | |
| parseNode(RouteCollection $collection, DOMElement $node, string $path, string $file) Parses a node from a loaded XML file. | |
bool | supports(mixed $resource, string|null $type = null) Returns whether this class supports the given resource. | |
| parseRoute(RouteCollection $collection, DOMElement $node, string $path) Parses a route and adds it to the RouteCollection. | |
| parseImport(RouteCollection $collection, DOMElement $node, string $path, string $file) Parses an import and adds the routes in the resource to the RouteCollection. | |
DOMDocument | loadFile(string $file) Loads an XML file. | |
Details
Gets the loader resolver.
Return Value
Sets the loader resolver.
Parameters
mixed
import(mixed $resource, string|null $type = null, bool $ignoreErrors = false, string|null $sourceResource = null)
Imports a resource.
Parameters
mixed | $resource | A resource |
string|null | $type | The resource type or null if unknown |
bool | $ignoreErrors | Whether to ignore import errors or not |
string|null | $sourceResource | The original resource importing the new resource |
Return Value
Exceptions
$this|LoaderInterface
resolve(mixed $resource, string|null $type = null)
Finds a loader able to load an imported resource.
Parameters
mixed | $resource | A resource |
string|null | $type | The resource type or null if unknown |
Return Value
Exceptions
Parameters
setCurrentDir(string $dir)
Sets the current directory.
Parameters
Returns the file locator used by this loader.
Return Value
protected
glob(string $pattern, bool $recursive, $resource = null, bool $ignoreErrors = false)
Parameters
string | $pattern | |
bool | $recursive | |
| $resource | |
bool | $ignoreErrors | |
load(string $file, string|null $type = null)
Loads an XML file.
Parameters
string | $file | An XML file path |
string|null | $type | The resource type or null if unknown |
Exceptions
InvalidArgumentException | when the file cannot be loaded or when the XML cannot be parsed because it does not validate against the scheme |
protected
parseNode(RouteCollection $collection, DOMElement $node, string $path, string $file)
Parses a node from a loaded XML file.
Parameters
RouteCollection | $collection | Collection to associate with the node |
DOMElement | $node | Element to parse |
string | $path | Full path of the XML file being processed |
string | $file | Loaded file name |
Exceptions
bool
supports(mixed $resource, string|null $type = null)
Returns whether this class supports the given resource.
Parameters
mixed | $resource | A resource |
string|null | $type | The resource type or null if unknown |
Return Value
bool | True if this class supports the given resource, false otherwise |
protected
parseRoute(RouteCollection $collection, DOMElement $node, string $path)
Parses a route and adds it to the RouteCollection.
Parameters
RouteCollection | $collection | RouteCollection instance |
DOMElement | $node | Element to parse that represents a Route |
string | $path | Full path of the XML file being processed |
Exceptions
protected
parseImport(RouteCollection $collection, DOMElement $node, string $path, string $file)
Parses an import and adds the routes in the resource to the RouteCollection.
Parameters
RouteCollection | $collection | RouteCollection instance |
DOMElement | $node | Element to parse that represents a Route |
string | $path | Full path of the XML file being processed |
string | $file | Loaded file name |
Exceptions
protected DOMDocument
loadFile(string $file)
Loads an XML file.
Parameters
string | $file | An XML file path |
Return Value
Exceptions
InvalidArgumentException | When loading of XML file fails because of syntax errors or when the XML structure is not as expected by the scheme - see validate() |