私は自家製のMVCシステムを使用しています。このシステムでは、ビューがメソッドのコンテキスト内にあることでモデルにアクセスするため、にアクセスできます$this
。
動的に含まれるビューの例:
...
<div>
Hello <?= $this->user->name ?>
</div>
...
これで、いくつかの追加パラメーターを使用して、関数に因数分解したいコードがいくつかあります。例えば :
function colored_hello($color) {
?>
<div style="background-color:<?= $color ?>">
Hello <?= $this->user->name ?>
</div>
<?
}
$this
問題は、関数がメソッドではないため、にアクセスできないことです。しかし、モデルやコントローラーをプレゼンテーションで台無しにしたくはありません。
ちなみに、この関数をメソッドとして動的に呼び出せるようにしたいと思います。アスペクト指向プログラミングのように:
# In the top view
magic_method_caller("colored_hello", $this, "blue")
出来ますか ?それとも、それを行うためのより良い方法を見ますか?