Configuration¶
The Configuration class is responsible for the instructions that
explain to the Builder how to build the LHTML Document. These
instructions can be set by modifying the config file that is loaded.
Config File¶
Configurations can be loaded from a file or created using an object. Below is an example of a config file.
Example¶
{
"version": 3,
"elements": [
{
"xpath": "//bitwise",
"class_name": "LivingMarkup\\Test\\Bitwise"
}
],
"routines": [
{
"method": "beforeLoad",
"description": "Execute before object data is loaded"
},
{
"method": "onLoad",
"description": "Execute when object data is loading"
},
{
"method": "afterLoad",
"description": "Execute after object data is loaded"
},
{
"method": "beforeRender",
"description": "Execute before object is rendered"
},
{
"method": "onRender",
"description": "Execute while object is rendering",
"execute": "RETURN_CALL"
},
{
"method": "afterRender",
"description": "Execute after object is rendered"
}
]
}
Autoload¶
If a config file has been specified during construction, it will be loaded.
If a config file has not been specified the
Configuration class tries toload a
config.json file if present.If the
config.json is not present, the Configuration will tryto load the
| packaged config config.dist.json file.
Parameters¶
| Parameter | Comments |
|---|---|
version |
Indicates the file structure to the Configuration for stability purposes. |
elements |
An array containing the types of elements to load at runtime. Each type contains contain an array with a name, a class_name, and a xpath expression. |
element:*:name |
Defines what the elements is named. |
element:*:xpath |
Specifies exactly how find DOMElements to initialize as elements. Xpath expressions are a powerful syntax for searching within a the Document for DOMElements. |
element:*:class_name |
Specifies which class to instantiate the DOMElement as. The class_name provided must refer to a class that extends the abstract Element class. The class name may feature a {name} variable which is automatically populated by the DOMElement’s name attribute during runtime. |
routines |
An array containing automated method calls that will be made to all Elements during runtime. The order of items in this array determines the order of execution. |
routines:*:name |
The exact name of the method being executed. |
routines:*:description |
An explanation of what the method is doing that indicates its order. |
routines:*:execute |
Determines whether the method should be ran differently. Currently, the following commands are supported * RETURN_CALL - The output of the method will replace the DOMElement in the DOMDocument. Is optional |
markup: |
String containing the actual LHTML that will be parsed by the Builder. This field is typically omitted from the config file and is instead appended to Configuration during runtime, often by the Autoloader. |