3

Paging Gabor de Mooij 或其他任何对 RedBeanPHP 更有经验的人。我们当前的命名约定是使用下划线,尽管任何人都可以使用 Pascal/Camel 大小写,但我认为重要的是一致性,我们不想重构所有内容以符合一致的命名模式,但我们会看看我们能做什么。

只有这些说法是矛盾的。有人可以澄清这个规则吗?

在此处输入图像描述

另外,您不认为 2 个或更多带字的属性也很常见,而且如果它们都用小写字母表示很难看:date_added 或 dateAdded?

4

2 回答 2

5

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

请注意,您的第一条消息需要在论坛上获得批准;但是没有其他方法可以阻止垃圾邮件..

于 2012-12-15T19:21:08.957 回答
1

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

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

表名通过下划线以多对多关系链接<TABLE1>_<TABLE2>

我很确定 redbean 的最新版本与旧版本相同,但如果您将其作为属性或使用下划线组合两个表名,则可能会导致复杂****_id

据我所知,这是仅有的两个可能出现问题的情况。我不确定标签或其他属性。

于 2012-12-15T03:07:43.680 回答