【问题标题】:Where does 'tpl' php variable come from?'tpl' php 变量从何而来?
【发布时间】:2019-04-26 23:14:35
【问题描述】:

我正在对 PHPJabbers 创建的停车场预订系统进行一些修改。 https://www.phpjabbers.com/car-park-booking/ 我不太了解 php 和它的结构。我想我的问题很快就会得到解答,因为它一定是一个非常简单的问题:D

我有视图和控制器。正如我想象的那样,控制器为视图提供内容。在视图文件夹中的每个 php 文件中,我看到一个名为 tpl 的 php 变量。

像这样:

" class="pj-form-field number w80" readonly="readonly"/>

url 的结尾看起来像:index.php?controller=pjAdminBookings&action=pjActionUpdate&id=12579

(action 是视图中 php 文件的名称) 我试图搜索整个项目的来源,但我什么也找不到。 例如,我搜索了 ['option_arr'] 并且我发现的所有内容都在视图中,并且是 tpl 变量的键。 (曾经想过我确实在 url 中命名的控制器中找到了它……现在不是这样了)

尽管我的英语很差,但我希望你能理解这个问题。谢谢!

【问题讨论】:

标签: php variables


【解决方案1】:

你没有给我们足够的信息来100%确定......

...但“tmp”可能代表“模板”。

在此链接中,PHP 框架是“Smarty”:What is .tpl files? php, web design

“那么什么是‘模板’?”,你可能会问?

https://www.dummies.com/web-design-development/html5/using-templates-with-php/

随着网络开发变得标准化,模型-视图-控制器 (MVC) 架构变得越来越流行。这个的基本思路 机制是分离数据元素(模型),用户 接口(视图),以及连接模型和 视图(控制器)。

许多编程讲师强调将内容、布局和 数据。然而,PHP 的编写方式通常是结合了这三者 元素。作为回应,Web 开发人员经常使用某种形式的 模板系统尝试将内容与视图分离。

为了感受这一点,我鼓励您尝试以下任一教程:

附录:

事实证明,您的应用 PHPJabber 使用了它自己的本土 MVC/模板框架:

请阅读有关“Twig”和/或“Smarty”的教程。这将帮助您了解 PHPJabber 发生了什么。具体来说,它应该可以帮助您了解“tpl”变量的“内容”和“原因”,以及它们与“控制器”呈现“视图”的关系。

【讨论】:

  • 对不起,我不清楚。我真的不知道该说什么。我没有任何 .tpl 文件。在文件夹视图中的任何文件中都没有导入任何内容。
  • 是的。但是你有 tpl 变量。我很确定,它是用于“模板”的。我绝对鼓励您花几分钟时间查看我提到的一些链接。了解这些链接应该可以帮助您更好地理解您的代码。
  • 哦!!谢谢你的链接!!我只是表面地检查了 phpjabbers.com。那是一个错误。现在我开悟了。这说明了很多!!再次感谢。 :)
【解决方案2】:

如果我是对的,控制器必须是 pjAdminBookings。控制器使用的方法是 pjActionUpdate。在这个方法中应该有一个使用返回变量的函数的返回。希望对你有帮助。

【讨论】:

  • 这是 pjAdminUpdate.php 的开始。 i67.tinypic.com/zuikxw.png 它只是使用 $tpl..
  • 根据查询字符串,它看起来像另一个需要控制器文件的文件。在这个文件中必须是一个 $tpl 变量。不查看您的项目就很难说。
  • 是的,你是对的,但是控制器中没有 return 或 $tpl,但是 "->set('latest_bookings', $latest_bookings)" 并且在视图中我可以从 $tpl[ 'latest_bookings']。我认为每个 php 程序员都使用这种方法是显而易见的。
  • 变量传递给视图的方式取决于框架和模板引擎,正如前面提到的@paulsm4。最后一切都以普通 php 解决,但过程不同。
猜你喜欢
  • 2013-09-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-12
  • 2019-12-23
  • 2011-09-21
  • 1970-01-01
  • 2013-04-18
相关资源
最近更新 更多