XHP提供了一种原生的类似
XML的输出表示(通常是
HTML)。这允许对
UI代码进行类型检查,并且是自动进行的避免了几个常见问题,如跨站点脚本(
XSS)和双转义。
XHP是创建实际
Hack对象的语法,称为XHP
对象。它们被用作一棵树,子元素可以其他XHP对象或文本节点(或其他非XHP对象,很少)。
XHP旨在增强PHP的语法,以允许在PHP代码中包含内联XML。XHP允许PHP理解HTML语法,消除了引号、连接、
转义和所有其他与将HTML直接包含到PHP代码中相关的麻烦。
XHP它会自动使开发者的HTML安全。XHP不会在HTML中使用转义函数来确保PHP变量的安全输出,而是自动执行此操作,确保输出的任何内容都不会导致XSS或其他
恶意攻击。默认情况下,这内置了安全性,有助于防止意外的
安全漏洞。
XHP的另一个特性是,它在解析时自动检测标记中的错误,并将它们与PHP标记错误沿着报告。这意味着不可能使用XHP生成格式错误的页面,因为它会生成解析器错误,而不是允许显示这样的页面。XHP实际上读取HTML语法,确保HTML格式良好且正确。
XHP有一个优势就是字符串解释没有结束,它在编译的时候会强制要求纠正标记的错误结构。也就是说,这个
表达式 =
Header; 是一个不正确的表达式,因为没有关闭标签而是用的.当在设计一大块的标记的时候,这时候就比较难完全的发现和纠正这个错误。用XHP编译的时候会先检查代码,并且会拒绝执行,直到纠正错误为止.