ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

PHP常量约定

2019-06-10 08:16:40  阅读:209  来源: 互联网

标签:php class-design


问候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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有