我正在开发一个小型应用程序来管理数据库中的一些数据。我正在使用 Smarty 模板引擎让所有东西都以 MVC 风格运行,并尝试使用充当控制器的 PHP 脚本和充当视图的 smarty 模板来保持代码的清洁和结构化。
现在我想介绍一下权限的概念。例如,一个用户可以拥有查看和编辑某些数据的权限,而另一个用户可以拥有查看或编辑同一数据的不同部分的其他权限。
我在 2 个地方进行检查: 1. 控制器本身,在执行操作之前检查用户是否具有权限。2. 视图(智能模板),它检查用户是否有权限并禁用或更改为只读相应的控件。
然而,后一部分对我来说变得有点过于冗长了。
<textarea id="description" name="description" rows="3"
{if !$user->can(Permissions::EDIT_DESCRIPTION)}readonly{/if}>{$item['description']|default:''}</textarea>
有没有更好的方法可以使用 Smarty 来实现相同的结果,更具有声明性或简洁性?