【问题标题】:Why do local variables in Magento have an underscore prefix?为什么 Magento 中的局部变量有下划线前缀?
【发布时间】:2010-10-16 14:08:51
【问题描述】:

作为an earlier question 的后续行动,我想知道是否有人知道为什么 Magento 模板都用下划线声明其变量。模板是来自Mage_Core_Block_Template::fetchView() 的.phtml 文件include-ed,它们的局部变量在函数结束时被处理掉,永远不会变成全局变量。

那么下划线的意义何在?

【问题讨论】:

    标签: templates magento naming-conventions


    【解决方案1】:

    我认为这是尊重 ZF 的命名约定:

    http://framework.zend.com/manual/en/coding-standard.naming-conventions.html#coding-standard.naming-conventions.variables

    对于使用“private”或“protected”修饰符声明的实例变量,变量名的第一个字符必须是单个下划线。这是变量名中唯一可接受的下划线应用。声明为“public”的成员变量不应该以下划线开头。

    【讨论】:

    【解决方案2】:

    这里没有确定的答案,但我相信这只是一个内部 magento 团队编码约定。我相信您通常都知道编程中的underscore prefix's history。这么想也不算太牵强

    视图脚本中使用的与对象松耦合的局部变量类似于私有或受保护变量

    换句话说,下划线用作警告

    嘿,这个变量的内容不只是属于这个视图,它属于别的东西

    部分问题是 Zend 或其他任何人都没有“官方”建议,在 phtml 文件中应该使用什么样的命名约定。

    【讨论】:

    • 为什么在一些magento模板中使用@see或@var而不是全部
    • 不确定,但我认为这些包含在与特定专用块明显相关的模板中,而不是普通的旧核心/模板块。
    • 检查了各种模板..文档似乎很随机..感谢您的回复!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-07
    • 2021-05-14
    • 1970-01-01
    相关资源
    最近更新 更多