phalcon 控制器中 setVar 和 Magic setter 有什么区别
What's the difference between setVar and Magic setter in phalcon Controllers
阅读 phalcon 的文档 https://docs.phalconphp.com/en/3.0.0/reference/views.html 我发现可以通过两种不同的方式将变量从控制器传递到视图:
使用 setVar()
$this->view->setVar("username", $user->username);
$this->view->setVar("posts", $posts;
使用魔法setter
$this->view->username = $user->username;
$this->view->posts = $posts;
两者有什么区别,有什么神奇之处setter真的,我找不到它是什么
区别在于性能。最好使用 setVar
方法。当然,在现实世界中,设置两个变量的区别将是 none。
唯一的区别是 return 值。
方法setVar return $this, magic setter return void.
检查这个:
https://github.com/phalcon/cphalcon/blob/master/phalcon/mvc/view.zep#L1373
并与之比较:https://github.com/phalcon/cphalcon/blob/master/phalcon/mvc/view.zep#L450
阅读 phalcon 的文档 https://docs.phalconphp.com/en/3.0.0/reference/views.html 我发现可以通过两种不同的方式将变量从控制器传递到视图:
使用 setVar()
$this->view->setVar("username", $user->username); $this->view->setVar("posts", $posts;
使用魔法setter
$this->view->username = $user->username; $this->view->posts = $posts;
两者有什么区别,有什么神奇之处setter真的,我找不到它是什么
区别在于性能。最好使用 setVar
方法。当然,在现实世界中,设置两个变量的区别将是 none。
唯一的区别是 return 值。
方法setVar return $this, magic setter return void.
检查这个: https://github.com/phalcon/cphalcon/blob/master/phalcon/mvc/view.zep#L1373 并与之比较:https://github.com/phalcon/cphalcon/blob/master/phalcon/mvc/view.zep#L450