【问题标题】:Are there any benefits to defining the type when it comes to PHP variables当涉及到 PHP 变量时,定义类型有什么好处吗
【发布时间】:2013-11-01 15:34:20
【问题描述】:

我从来没有真正费心预定义变量,或者就此而言,定义它是什么类型的变量。我正在尝试通过做这些事情来改进我的代码。

我读到预定义 PHP 变量是更好的做法,但在定义类型时找不到太多关于好处的信息。

我很想知道是否有任何速度优势,并听听其他人对此主题的看法。

【问题讨论】:

  • 没有任何好处,因为 php 是松散类型的
  • 如果没有预定义的变量,它会显示警告(这取决于 php.ini 设置),因此最好在之前定义它。没有速度优势。
  • 我在每个定义变量中看到的一个好处是,如果您在条件块内定义一些变量,当您想在条件之外使用变量时,您可以不用if (isset ... 代码。

标签: php variables types


【解决方案1】:

好处纯粹在于可读性。

理论上是可以的

$var = 42;
$var = "Hello World!";
$var = false;

这样就好了。但是,这在大多数应用程序中没有意义,也不是很可读(将这些行分散在 1000 行页面周围,您就会明白我在说什么)。

预定义变量可以让您清楚地了解变量的含义及其用途。

应该配合使用

  • 正确的变量名
  • 适当的变量范围

【讨论】:

  • 好的,我可以看到这里的好处。那么为什么 PHP 有函数 settype,如果它并不重要呢?
  • @PapaSmurf:它允许您在运行时进行类型转换。很像 define()const。当您需要将诸如 "5bar" 之类的非常规内容转换为 int 时,它会有所帮助,例如,它将变为 5
【解决方案2】:

为了代码的可读性,建议在使用它们的范围之外定义变量。 PHP 允许您在块内创建变量,例如 if 语句或循环,然后在该块范围之外使用该变量。当您尝试编辑其他人的代码时,这是非常令人困惑的。

因此,为了便于重构和代码可读性,您应该在使用它们的块语句之外定义变量。

至于定义类型,PHP 不是强类型语言。您能做的最好的事情就是使用类型提示并在函数声明中定义对象类型。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多