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