【问题标题】:variable or constant?变量还是常数?
【发布时间】:2011-03-17 16:30:18
【问题描述】:

使用一个比另一个有好处吗?

$lang = isset($_COOKIE['lang']) ? $_COOKIE['lang'] : 'en';
# OR
define("LANG" , isset($_COOKIE['lang']) ? $_COOKIE['lang'] : 'en');

谢谢

【问题讨论】:

  • '[PHP]' 不是必需的,这就是标签的用途。

标签: php variables cookies constants


【解决方案1】:

在这种情况下,常数更合适。因为您想在整个应用程序中使用相同的值,并且您不希望它可能被错误地更改。

请注意,编程语言有许多您不需要使用来实现算法的特性,但它们的存在是为了使算法更易读、更易于维护并且不易出错。常量就是其中一种类型的特性。

【讨论】:

    【解决方案2】:

    常量:

    1. 之后无法更改。
    2. 始终在范围内(在类/函数/方法中)。
    3. 只能是标量(或文件资源,但这只是一个未记录的功能/错误)

    变量:

    1. 是可变的。
    2. 可能超出范围。
    3. 可以是任何数据。

    【讨论】:

    • 我知道这些——但从用户的角度来看——一旦用户设置/重置,代码中的值就不会改变。
    • 你可能有幸拥有体面的同事或你自己的项目:编码人员可以在你最意想不到的时候改变你的变量......
    【解决方案3】:

    这取决于你想做什么。常量的值一旦定义就不能改变。变量可以。这种差异应该会让你选择你需要的那个。

    【讨论】:

    • @MotionGrafika:您遇到任何性能问题吗?如果不是,请选择更适合概念的方法。
    • 我没有做过任何基准测试,常量看起来更好。
    • 我也没有进行基准测试,但我确信常量在性能方面更好(没有范围/单独的内存区域)。但我认为这不应该是你的重点。 ;)
    猜你喜欢
    • 2017-12-27
    • 2012-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-03
    • 1970-01-01
    • 2012-06-09
    相关资源
    最近更新 更多