是否可以在PHP中为您的模板引擎创建自己的语义标记“<某物></某物>”


Would it be possible to create your own semantic markup "<something></something>" for you template engine in PHP?

如果有人能帮助我解决这个问题,我将不胜感激:)

我想知道是否可以像 BB Code 一样在 PHP 中创建自己的语义标记,但我希望能够在我的模板引擎系统中使用它,所以我可以使用它来调用自定义模块,如投票系统、添加评论、登录表单、注册表单等......

让我更清楚地告诉你们我的意思;

我正在开发自己的CMS,不是将其用于生产目的,而是以更好的方式学习PHP;所以我有这个想法,根据它们的位置调用页面中的特定模块,以便能够做到这一点;

例如,我们有一个登录模块,

它只是一个登录表单,没有什么太疯狂的,但是您希望能够使用该模块在您想要使用后端的任何页面中动态包含该模块,而不接触任何代码;

因此,您在模板页面中所做的只是使用我之前告诉您的bb代码;像这样的东西;

请记住,这只是一个想法;

<zone name="left_sidebar"></zone>

然后您在侧边栏上添加此区域标记,如果您的任何模块应该显示在左侧边栏上,它只需具有此标记即可,仅此而已......

你有很多这些语义标记,这些基于你的页面上有多少可编辑的块;所以你可以有一个用于右侧边栏,一个用于页脚,一个用于页眉......等。

所以我现在需要知道如何查找开始和结束标签,在这种情况下它会<zone></zone>,然后它需要查找它的属性和值,在这种情况下name="right_sidevar"....

任何人都知道我怎么可能做这种事情......

提前致谢:)

你可以看看TWIG;虽然它不直接支持这种功能(因为它对自己的元素使用特殊的语法(,但它确实有很好的支持在后端制作自己的元素,标签,子应用程序和其他时髦的东西。

http://twig.sensiolabs.org/

还有许多系统在前端执行这种任务;这意味着替换是由Javascript在浏览器中完成的。除了已经提到的Polymer之外,还有Google的框架Angular。

https://angularjs.org/

也许你可以使用 php 的 libxml 模块来解析你的 xml 文件。