找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1159|回复: 0

Const类常量

[复制链接]

304

主题

42

回帖

1348

积分

管理员

积分
1348
发表于 2021-4-22 12:30:59 | 显示全部楼层 |阅读模式
  1. <?php
  2. /*
  3.         Const 类常量
  4.                 作用:定义类常量,可以把在类中始终保持不变的值定义为常量。

  5.                 不可变!

  6.                 US => United States
  7.                 FR => France
  8.                 DE => Germary
  9.                 BR => Brazil
  10.                 UK => United Kingdom
  11.                 AU => Australia

  12.                 类常量的访问
  13.                         1. 对象::常量名
  14.                         2. 类名::常量名
  15.                         3. self::CONSTANT
  16.                         4. $this::CONSTANT


  17.                 重要:
  18.                         self 含义是自己,表示的是类。

  19.                         $this 含义是自己,表示的是对象。
  20. */

  21. class Country
  22. {
  23.         const US = 'United States';
  24.         const NUM = 123;
  25.         const LIST = [1, 2, 3];

  26.         public function testConst()
  27.         {
  28.                 echo '<pre>';
  29.                         print_r($this);
  30.                 echo '</pre>';


  31.                 // 3. 类内部访问,self::CONSTANT
  32.                 var_dump('self ', self::US);

  33.                 // 4. 类内部访问,$this::US
  34.                 var_dump('$this ', $this::US);
  35.         }
  36. }

  37. $con = new Country();
  38. // 1. 对象::常量名
  39. var_dump($con::US);

  40. // 2. 类名::常量名
  41. var_dump(Country::US);


  42. $co = new Country();
  43. $co->testConst();
复制代码
  1. <?php
  2. /*
  3.         Const 类常量
  4.                 作用:定义类常量,可以把在类中始终保持不变的值定义为常量。

  5.                 不可变!

  6.                 US => United States
  7.                 FR => France
  8.                 DE => Germary
  9.                 BR => Brazil
  10.                 UK => United Kingdom
  11.                 AU => Australia

  12.                 类常量的访问
  13.                         1. 对象::常量名
  14.                         2. 类名::常量名
  15.                         3. self::CONSTANT
  16.                         4. $this::CONSTANT


  17.                 重要:
  18.                         self 含义是自己,表示的是类。

  19.                         $this 含义是自己,表示的是对象。

  20.         define 与 const 的区别
  21.                 1. 类常量的用意就是可以精确有效范围。

  22.                 2. CONST 本身是一个语言结构,define 是一个函数。
  23.                
  24.                 3. CONST 也可以在类外定义。

  25.                 4. CONST 不能在条件语句下声明定义。


  26. */
  27. define('HOST', '127.0.0.1');

  28. class Country
  29. {
  30.         CONST US = 'United States';

  31.         public function test()
  32.         {
  33.                 var_dump(HOST);
  34.         }
  35. }

  36. $co = new Country();
  37. $co->test();

  38. echo Country::US;

  39. class Foo
  40. {
  41.         CONST US = '美国';
  42. }

  43. echo FOO::US;



  44. if (true)
  45. {
  46.         // CONST XO = 123;
  47.         define('BAR', 'FOO');
  48. }

  49. var_dump(BAR);
复制代码
  1. <?php

  2. // 支持在任意地方声明
  3. define('USER', 'root');

  4. // 支持在类外声明
  5. CONST PASSWD = '123';

  6. var_dump(USER);

  7. var_dump(PASSWD);
复制代码


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|外汇论坛 ( 粤ICP备16021788号 )

GMT+8, 2024-12-22 19:58 , Processed in 0.072603 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表