2012-12-15 48 views
3

寻呼Gabor de Mooij或任何其他已经更熟悉RedBeanPHP的人。目前的命名约定是使用下划线,虽然任何人都可以使用Pascal/Camel框架,但我认为重要的是一致性,我们不想重构所有内容以符合一致的命名模式,但我们会看看我们能做些什么。属性命名转换

只是这些陈述是矛盾的。任何人都可以澄清这个规则吗?

enter image description here

而且,你不觉得2个或更多措辞性能也很常见及其丑陋,如果他们都在小写:DATE_ADDED或dateAdded?

回答

4

RedBeanPHP专为“敏捷”方法而设计。数据库由RedBeanPHP实时制作,而您正在编写应用程序并与您的客户讨论域名。

但我永远不会施加人为限制。你可以使用下划线和大写字母,只要记住RedBeanPHP使用一些约定来检索/存储关系:table_id和table1_table2是最重要的。

另请注意,大写表名可能很难维护,因为某些数据库操作系统组合不区分大小写。

从RedBeanPHP 3.4(现在为alpha)开始,如果尝试存储具有无效类型名称的bean,RedBeanPHP将引发异常;然而这只是为了警告你。要覆盖此检查,请使用setStricTyping(false)。

例子:

R::setStrictTyping(false); 
$bean = R::dispense('postAddress'); 
$bean->housenumber = '1'; 
R::store($bean); 
$bean = R::dispense('post_address'); 
$bean->house_number = '2'; 
R::store($bean); 

这只是工作。

我希望能够澄清这种情况,我会尽快将文档更新到更具体的位置。谢谢你通知我这个问题。随时在我们的论坛上提出任何问题:https://groups.google.com/forum/?fromgroups#!forum/redbeanorm

请注意,您的第一条消息需要在论坛上获得批准;然而,没有其他方式来防止垃圾邮件..

+0

也检查此解决方案 http://stackoverflow.com/a/23020255/218418 –

1

在以前的版本中,您可以在属性类型中使用下划线,但不推荐使用下划线,因为它可能与外键冲突。我不确定最新版本是禁止还是不推荐。这些陈述是矛盾的,但我认为你可以使用下划线,但不推荐。

在以前的版本中,所有外键被命名为<TABLENAME>_id$bean->TABLENAME->TABLEPROPERTY

表名称访问的许多一对多的关系链接以下划线<TABLE1>_<TABLE2>

我非常肯定红豆的最新版本是一样的旧版本中,你可以,但也可能引起并发症,如果您有****_id作为属性或组合使用下划线两个表的名称。

据我所知,这是唯一可能发生问题的两个例子。我不确定标签或其他属性。

+0

2个或更多措辞属性如何?它们被限制为有下划线或骆驼/帕斯卡套管? – Jojo