所以我的工作我自己的小MVC框架作为一个学习锻炼。它的工作很好,但我希望能够引用在我看来,文件变量,而这$

因此,例如我有实例的视图对象控制器对象。从控制器我通过变量这样的观点

$this->view->foo = "bar";

然后视图对象包括用于视图相关的代码(例如:myView.phtml)。所以访问“foo”的在我使用这个视图文件

echo $this->foo;

但我想这样做,我不知道如果这是可能的羯羊,我失去了一些东西很明显,但我想这样做是参照这样的变量

echo $foo;

没有我张贴整个源,任何人都可以指向我在正确的方向?

有帮助吗?

解决方案

如果你想在视图对象的每一个变量是视图内availble的,你可以添加你的变量是一个数组视图对象的属性,然后使用的提取物()以使它们可:

$this->view->variables['foo'] = 'bar';

extract($this->view->variables); // now $foo = 'bar';

我不提取物()的大风扇,但是这将完成你在找什么。

其他提示

您可以编写一些代码,它分析你的HTML视图输入,并自动修改条目从$ FOO或[富]被$ this-> foo的。

所以,你可以把这样的事情在你的HTML视图:

<p>[foo]</p>

和然后有一些视图代码解析文件和改变[富]的所有实例的这 - $> FOO的值。所以,你的输出变为:

<p>I'm the foo value</p>

或者,你可以使用类似 Smarty的 - 它这样做对你,有许多其他原因使用它。

您是否尝试过提取?你必须添加把所有的变量到一个数组的方法。唯一的真正的限制是,这使得变量只读。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top