【发布时间】:2016-02-27 20:03:39
【问题描述】:
我有一个具有此功能的课程:
public function loadTemplate($template)
{
return require "templates/$template.php";
}
没关系,但我有问题。
假设我有这个代码:
require('class.php');
$class = new ClassName; // ClassName is the class which contains the function loadTemplate()
$name = 'Jerry';
$class->loadTemplate('myname');
而“myname.php”是:
<?php
echo "My name is $name.";
在这种情况下,我收到一个错误,因为 "myname.php" 实际上包含在类的文件中,因此 $name 未定义。
我该如何克服这个问题?
【问题讨论】:
-
老实说,我建议您不要这样设计您的应用程序。或者,您需要以某种方式将“变量”传递给您的 loadTemplate 方法,然后以某种方式将它们传递给 $template。
-
您认为更好的解决方案是什么?
-
“使用、分析和学习现有的、久经考验的模板系统”是一种选择。
-
您可能想看看
__DIR__常量。