friendship ended with social-app. php is my new best friend
at main 1.8 kB view raw
1<?php 2/** 3 * A handler for processor instructions. 4 */ 5 6namespace Masterminds\HTML5; 7 8/** 9 * Provide an processor to handle embedded instructions. 10 * 11 * XML defines a mechanism for inserting instructions (like PHP) into a 12 * document. These are called "Processor Instructions." The HTML5 parser 13 * provides an opportunity to handle these processor instructions during 14 * the tree-building phase (before the DOM is constructed), which makes 15 * it possible to alter the document as it is being created. 16 * 17 * One could, for example, use this mechanism to execute well-formed PHP 18 * code embedded inside of an HTML5 document. 19 */ 20interface InstructionProcessor 21{ 22 /** 23 * Process an individual processing instruction. 24 * 25 * The process() function is responsible for doing the following: 26 * - Determining whether $name is an instruction type it can handle. 27 * - Determining what to do with the data passed in. 28 * - Making any subsequent modifications to the DOM by modifying the 29 * DOMElement or its attached DOM tree. 30 * 31 * @param \DOMElement $element The parent element for the current processing instruction. 32 * @param string $name The instruction's name. E.g. `&lt;?php` has the name `php`. 33 * @param string $data All of the data between the opening and closing PI marks. 34 * 35 * @return \DOMElement The element that should be considered "Current". This may just be 36 * the element passed in, but if the processor added more elements, 37 * it may choose to reset the current element to one of the elements 38 * it created. (When in doubt, return the element passed in.) 39 */ 40 public function process(\DOMElement $element, $name, $data); 41}