用于 php 的现代模板引擎(例如 dwoo 或 smarty)可以使用对象作为变量。你可以使用{$obj->method()},真的很方便,我经常用这个。但是,直接从 ORM 导出对象存在明显的安全问题,这些对象具有插入、删除等方法。是否有任何理智的方法可以仅将部分方法公开给模板引擎?我正在考虑包装器仅公开列入白名单的方法:
$aTplVars = array (new TplWrapper(new User($nUserId), array('getAccount','getStatus')));
你在想什么(有明显的性能开销)?或者在一些现有的 php 模板引擎中可能有类似的东西?