我正在寻找一种方法来本地化PropertyGrid中显示的属性名称.可以使用DisplayNameAttribute属性"覆盖"属性的名称.不幸的是,属性不能有非常量表达式.所以我不能使用强类型资源,例如:
class Foo
{
[DisplayAttribute(Resources.MyPropertyNameLocalized)] // do not compile
string MyProperty {get; set;}
}
Run Code Online (Sandbox Code Playgroud)
我浏览了一下,发现了一些从DisplayNameAttribute继承的建议,以便能够使用资源.我最终会得到如下代码:
class Foo
{
[MyLocalizedDisplayAttribute("MyPropertyNameLocalized")] // not strongly typed
string MyProperty {get; set;}
}
Run Code Online (Sandbox Code Playgroud)
但是我失去了强大的类型资源优势,这绝对不是一件好事.然后我遇到了DisplayNameResourceAttribute,这可能是我正在寻找的.但它应该在Microsoft.VisualStudio.Modeling.Design命名空间中,我找不到我应该为此命名空间添加的引用.
有人知道是否有更好的方法以一种好的方式实现DisplayName本地化?或者是否有使用Microsoft似乎用于Visual Studio的方法?
在PHPOffice的项目中,有两个与电子表格文件格式相关的项目:
PHPExcel是一个用纯PHP编写的库,它提供了一组类,允许您写入和读取不同的电子表格文件格式,如Excel(BIFF).xls,Excel 2007(OfficeOpenXML).xlsx,CSV,Libre/OpenOffice Calc .ods,Gnumeric,PDF,HTML,...这个项目是围绕微软的OpenXML标准和PHP构建的.
和
PhpSpreadsheet是一个用纯PHP编写的库,它提供了一组类,允许您读取和写入不同的电子表格文件格式,如Excel和LibreOffice Calc.
它们之间的主要区别是什么?
有类似的问题,但我找不到任何与Doctrine2配置有关的问题,所以这里有......
我已经读过这个描述Doctrine2时区的页面,我只是想澄清一下,因为目前还不清楚如何实际使用它:http://doctrine-orm.readthedocs.org/en/latest/cookbook/working-与-datetime.html
我希望以UTC格式存储日期时间,以便每个用户可以根据其位置拥有关联的时区,但数据通常存储.
基本上,数据是商店的营业时间(例如,上午9点开放,下午6点关闭).商店将跟踪其时区,因此当商店中的人设置"开放"时间时,他们正在处理商店的时区,时间转换为UTC并存储在数据库中.接下来,当其他用户查看商店营业时间时,他们将在自己的时区或商店时区中看到营业时间.这应该没关系,因为我有UTC时间,所以我可以将它们转换为任何时区.
所以Doctrine文档显示了这个例子:
class UTCDateTimeType extends DateTimeType
{
// ...
}
Run Code Online (Sandbox Code Playgroud)
但它没有说明如何使用它.我是否必须将列声明为"UTCDateTime"而不是"DateTime"?这个类需要在哪里生活,以便Doctrine知道该类型存在?
我们目前正在开发一个项目管理软件.我们无法确定实施安全性的正确方法.我们已经查看了ACL和RBAC,并且已经非常确定我们至少需要两者的组合才能出于特定原因.但是有两个问题在这两个世界都没有很好的解决方案.让我解释:
假设您有以下实体:
现在应该表达以下规则:只允许具有角色工作者的用户查看与分配给他的项目相关的任务.
这导致仅允许用户查看整个列表中的一些任务.
我们将使用RBAC为Roles提供实际读取任务的权限.但由于涉及特定实体,因此不适用该条件.可以使用ACL,但我们担心保持ACL条目符合要求的噩梦(用户可以更改,角色可以更改,可以引入新任务,必须获得正确的条目,这同样复杂).
当然,在查看特定项目时可能会有特定的查询(WHERE project_id = 123),但这对"我所有当前任务的视图"没有帮助,基本上每个任务都可以考虑显示,但是必须检查ACL每一个人.
我如何确保诸如"获取当前用户可以看到的前25个任务"之类的内容,而无需从数据库加载所有任务,然后根据ACL进行过滤,即处理分页.
php ×2
acl ×1
attributes ×1
c# ×1
datetime ×1
doctrine-orm ×1
localization ×1
phpexcel ×1
phpoffice ×1
rbac ×1
security ×1
timezone ×1