1 2/** 3 * This file is part of the Phalcon Framework. 4 * 5 * (c) Phalcon Team <team@phalcon.io> 6 * 7 * For the full copyright and license information, please view the LICENSE.txt 8 * file that was distributed with this source code. 9 */ 10 11namespace Phalcon\Html; 12 13use Phalcon\Escaper; 14use Phalcon\Escaper\EscaperInterface; 15use Phalcon\Factory\AbstractFactory; 16 17/** 18 * ServiceLocator implementation for Tag helpers 19 */ 20class TagFactory extends AbstractFactory 21{ 22 /** 23 * @var EscaperInterface 24 */ 25 private escaper; 26 27 /** 28 * TagFactory constructor. 29 */ 30 public function __construct(<EscaperInterface> escaper, array! services = []) 31 { 32 let this->escaper = escaper; 33 34 this->init(services); 35 } 36 37 /** 38 * @param string name 39 * 40 * @return mixed 41 * @throws Exception 42 */ 43 public function newInstance(string name) -> var 44 { 45 var definition; 46 47 if !isset this->services[name] { 48 let definition = this->getService(name), 49 this->services[name] = create_instance_params( 50 definition, 51 [ 52 this->escaper 53 ] 54 ); 55 } 56 57 return this->services[name]; 58 } 59 60 protected function getAdapters() -> array 61 { 62 return [ 63 "a" : "Phalcon\\Html\\Helper\\Anchor", 64 "base" : "Phalcon\\Html\\Helper\\Base", 65 "body" : "Phalcon\\Html\\Helper\\Body", 66 "button" : "Phalcon\\Html\\Helper\\Button", 67 "close" : "Phalcon\\Html\\Helper\\Close", 68 "element" : "Phalcon\\Html\\Helper\\Element", 69 "form" : "Phalcon\\Html\\Helper\\Form", 70 "img" : "Phalcon\\Html\\Helper\\Img", 71 "inputColor" : "Phalcon\\Html\\Helper\\Input\\Color", 72 "inputDate" : "Phalcon\\Html\\Helper\\Input\\Date", 73 "inputDateTime" : "Phalcon\\Html\\Helper\\Input\\DateTime", 74 "inputDateTimeLocal" : "Phalcon\\Html\\Helper\\Input\\DateTimeLocal", 75 "inputEmail" : "Phalcon\\Html\\Helper\\Input\\Email", 76 "inputFile" : "Phalcon\\Html\\Helper\\Input\\File", 77 "inputHidden" : "Phalcon\\Html\\Helper\\Input\\Hidden", 78 "inputImage" : "Phalcon\\Html\\Helper\\Input\\Image", 79 "inputInput" : "Phalcon\\Html\\Helper\\Input\\Input", 80 "inputMonth" : "Phalcon\\Html\\Helper\\Input\\Month", 81 "inputNumeric" : "Phalcon\\Html\\Helper\\Input\\Numeric", 82 "inputPassword" : "Phalcon\\Html\\Helper\\Input\\Password", 83 "inputRange" : "Phalcon\\Html\\Helper\\Input\\Range", 84 "inputSelect" : "Phalcon\\Html\\Helper\\Input\\Select", 85 "inputSearch" : "Phalcon\\Html\\Helper\\Input\\Search", 86 "inputSubmit" : "Phalcon\\Html\\Helper\\Input\\Submit", 87 "inputTel" : "Phalcon\\Html\\Helper\\Input\\Tel", 88 "inputText" : "Phalcon\\Html\\Helper\\Input\\Text", 89 "inputTextarea" : "Phalcon\\Html\\Helper\\Input\\Textarea", 90 "inputTime" : "Phalcon\\Html\\Helper\\Input\\Time", 91 "inputUrl" : "Phalcon\\Html\\Helper\\Input\\Url", 92 "inputWeek" : "Phalcon\\Html\\Helper\\Input\\Week", 93 "label" : "Phalcon\\Html\\Helper\\Label", 94 "link" : "Phalcon\\Html\\Helper\\Link", 95 "meta" : "Phalcon\\Html\\Helper\\Meta", 96 "ol" : "Phalcon\\Html\\Helper\\Ol", 97 "script" : "Phalcon\\Html\\Helper\\Script", 98 "style" : "Phalcon\\Html\\Helper\\Style", 99 "title" : "Phalcon\\Html\\Helper\\Title", 100 "ul" : "Phalcon\\Html\\Helper\\Ul" 101 ]; 102 } 103} 104