我使用自制的MVC系统,其中Views通过在方法的上下文中访问模型,因此能够访问$this
。一个视图的
实施例,动态包含:
...
<div>
Hello <?= $this->user->name ?>
</div>
...
现在,我有一些代码,我想因式分解成的功能,与一些额外的参数。 例如:
function colored_hello($color) {
?>
<div style="background-color:<?= $color ?>">
Hello <?= $this->user->name ?>
</div>
<?
}
的问题是,我没有获得$this
,因为该函数不是方法。 但我不想破坏我的模型或控制器与演示文稿的东西。
Hance,我想能够动态地调用这个函数,作为一种方法。 像面向方面的编程:
# In the top view
magic_method_caller("colored_hello", $this, "blue")
这可能吗? 或者你看到更好的方法吗?
通$以此为论据? – 2012-07-26 14:58:05
为什么你不把这个作为一个参数?另外,请查看php手册中的'call_user_func'。 – Florian 2012-07-26 14:58:26
*视图访问模型* - 哦我的... – 2012-07-26 15:01:22