编程语言
首页 > 编程语言> > PHP常量约定

PHP常量约定

作者:互联网

问候StackOverflow

我正在做一些房屋清洁,并认为我会在PHP中要求一些建议的做法,因为我重新考虑了我的课程.特别是,我有一些类常量属于类别,我想知道一些好的方法来分组具有共同目的的那些.

一个例子:

class MySquare {
  // Colors
  const COLOR_GREEN = "green";
  const COLOR_RED = "red";

  // Widths
  const WIDTH_SMALL = 100;
  const WIDTH_MEDIUM = 500;
  const WIDTH_BIG = 1000;

  // Heights
  const HEIGHT_SMALL = 100;
  const HEIGHT_MEDIUM = 300;
  const HEIGHT_BIG = 500;
}

显然这是有效的,但似乎在分组相关常量时可能有很多选项,我敢打赌这不如大多数.你会怎么做?

解决方法:

有许多PHP约定,所有这些都是矛盾的.但我确实使用了类似的符号,虽然我喜欢将每个类的常量分组,所以我会有一个类
具有常量的高度(或MySquare_Height).通过这种方式,我可以像其他语言一样使用它作为一种Enum.特别是当您使用带突出显示的编辑器时.

<?
abstract class MySquare_Color
{
  const GREEN = 'Green';
  const RED = 'Red';
}

abstract class MySquare_Height 
{
  const SMALL = 100;
  const MEDIUM = 300;
  const BIG = 500;
}

如果你使用PHP 5.3,你可以命名Color和Height类并将它们放在MySquare命名空间中:

<?php
// Namespace MySquare with subnamespace Width containing the constants.
namespace MySquare\Width
{
    const SMALL = 100;
    const MEDIUM = 300;
}

namespace
{
  // Refer to it fromout another namespace
  echo MySquare\Width\SMALL;
}


?>

标签:php,class-design
来源: https://codeday.me/bug/20190610/1210832.html