这是XHP!
XHP 是Facebook 创建的 PHP 扩展。它使 PHP 能够理解 XML 节点,因此您可以编写如下内容(来自他们自己的示例):
<?php
$href = 'http://www.facebook.com';
echo <a href={$href}>Facebook</a>;
?>
XHP 还允许您创建可在标记中使用的 PHP 类。所以<fb:like />
节点实际上是在编译时变成了一个PHP类。类的定义大概是这样的:
<?php
class :fb:like extends :x:element {
...
}
你可以在上面的 Github 链接以及关于 XHP的创作者博客上阅读更多相关信息。
所以回答你的问题:
- 不会被浏览器处理,而是被 XHP 处理。XHP 将其转换为 PHP 对象,最后将其转换为有效的 HTML 标记。使用 XHP 时确实如此,但我们也可以使用相同的标签,而不使用 XHP。我猜这只是在 javascript 中解析标签并将变量发送到 API 的问题,API 可能使用 API 重新创建结构,然后发回 HTML。
- 并不是一种真正的技术,而是 Facebook 开发的一种独特的东西,可以让他们使用 PHP 的工作更轻松。
- 同样,当它返回到浏览器时,它已被 XHP 转换(通过 javascript 将其发送到 Facebook 之后)。尝试查看渲染版本 - 它看起来与简单
<fb:like>
标签不同。