zend-framework - 最佳实践 : Zend View: Load content from database and render PHP-code included in content

标签 zend-framework parsing templates view

假设我从数据库加载一个值,该值返回如下内容:

<?php
//Zend_Controller_Action
public function indexAction()
{
  $dbContent = "<p>Hello <?php echo $user?>!</p>";
  $this->view->paragraph = $dbContent;
}
?>

怎么可能

<?php echo $user?>

会被渲染吗?

需要采取什么预防措施(安全问题、XXS)?

非常感谢!

==编辑:== 抱歉,我显然误解了我的问题。我实际上想说的是:

我想避免实现像 smarty 这样的模板引擎.

在我的项目中,会有字符串中包含 PHP 代码且需要解析的内容。

示例:

<?php
//Zend_Controller_Action
public function indexAction()
{
  $dbContent = "<p>Hello <?php echo $user?>!</p>";
  $this->view->paragraph = $dbContent;
}

<?php
//viewscript.phtml
$user = 'John Doe';
echo $this->paragraph;
?>

应该输出:

Hello John Doe!

是否有任何安全解决方案可以在没有外部模板引擎的情况下实现此目的?

再次感谢...:-)

最佳答案

如果找到解决方案here ,这似乎完全满足了我的需求。

感谢所有在这里回答的人,

==更新==

不幸的是,发布的链接已失效。然而,解决方案非常简单。据我记得,它经历了以下步骤:

  1. 从数据库中获取内容并将其保存在文件中
  2. 使用Zend_Cache检查该文件是否存在
  3. 如果文件存在,则简单地渲染它。如果没有,请转到步骤 1。

==更新二== 找到该页面的副本: archive.org

关于zend-framework - 最佳实践 : Zend View: Load content from database and render PHP-code included in content,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8019577/

相关文章:

php - Zend 服务器与 xampp MySQL

C#,DateTime.ParseExact 数据解析错误

c++ - 如何创建仅包含主文件和模板 header 的 makefile (C++)

zend-framework - 为什么我应该在 Zend_Db 上使用 Doctrine?

zend-framework - Zend MVC 项目与 Node.js 一起提高 JavaScript 性能

php - ffmpeg 进度条 - PHP 中的编码百分比

c++ - 如何使用模板规范化 0 到 1 范围内的数字?

c++ - 如何在类中传递函数作为参数?

php - Zend ACL 是否适合所有者对内容的权限

json - 使用较旧的 swift 方法“JSONObjectWithData”将数据序列化为 JSON?