【问题标题】:Property Naming Convention属性命名约定
【发布时间】:2012-12-03 01:17:41
【问题描述】:

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

只是这些陈述相互矛盾。谁能澄清这个规则?

另外,你不认为 2 个或多个带字的属性也很常见,而且如果它们都是小写的,那就很难看:date_added 或 dateAdded?

【问题讨论】:

    标签: php naming-conventions redbean


    【解决方案1】:

    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

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

    【讨论】:

      【解决方案2】:

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

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

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

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

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

      【讨论】:

      • 两个或更多字的属性怎么样?它们被限制为下划线或骆驼/帕斯卡大小写?
      猜你喜欢
      • 2015-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-23
      • 2016-08-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多