美文网首页
PHP手册之类常量

PHP手册之类常量

作者: killtl | 来源:发表于2018-03-20 17:02 被阅读0次

前言

PHP手册系列文章,会挑选一些手册中有意思的评论进行翻译
手册目录: 语言参考---类与对象---类常量
参考详情

评论

  1. constant常量的访问限制总是public,你不能声明为private或者protected
  2. 你可以在抽象类中定义constant,并且在继承它的子类中声明相同的constant,通过不同的类名进行区分调用
abstract class dbObject
{
    const TABLE_NAME='undefined';

    public static function GetAll()
    {
        $c = get_called_class();
        return "SELECT * FROM `".$c::TABLE_NAME."`";
    }
}

class dbPerson extends dbObject
{
    const TABLE_NAME='persons';
}

class dbAdmin extends dbPerson
{
    const TABLE_NAME='admins';
}

echo dbPerson::GetAll()."<br>";//output: "SELECT * FROM `persons`"
echo dbAdmin::GetAll()."<br>";//output: "SELECT * FROM `admins`"
  1. 你可以使用延迟静态绑定来区分调用constant
class A {
    const MY_CONST = false;
    public function my_const_self() {
        return self::MY_CONST;
    }
    public function my_const_static() {
        return static::MY_CONST;
    }
}

class B extends A {
    const MY_CONST = true;
}

$b = new B();
echo $b->my_const_self() ? 'yes' : 'no'; // output: no
echo $b->my_const_static() ? 'yes' : 'no'; // output: yes
  1. 中括号可以用来提取字符串中的某个字符,但是你不可以像这样$constant[num/key]来使用
class SomeClass
{
    const SOME_STRING = '0123456790';
    public static function ATest()
    {
        return self::SOME_STRING[0];   //error
  }
}
  1. 你也可以在constant函数中得到constant变量,这样你可以使用变量来表示类名和常量名
function get_class_const($class, $const){
    return constant("$class::$const");
}

class Foo{
    const BAR = 'foobar';
}

$class = 'Foo';
echo get_class_const($class, 'BAR'); // 'foobar'

如果你不使用constant()函数,而直接return $class::$const将会出错,或者你这样return $class::$$const或者return $class::{$const}都会出错

相关文章

  • PHP手册之类常量

    前言 PHP手册系列文章,会挑选一些手册中有意思的评论进行翻译手册目录: 语言参考---类与对象---类常量参考详...

  • php简明手册

    # **PHP简明手册** ## **变量 和 常量** > 1. 变量和常量是PHP中最基本的数据存储单元,它们...

  • PHP的namespace命名空间和use操作符讲解与用法

    首先参照php手册上讲解的: 在PHP中,命名空间用来解决两类问题: 用户编写的代码与PHP内部的类/函数/常量或...

  • 检测PHP版本-PHP_VERSION常量

    PHP_VERSION常量: PHP自带的系统常量中有个PHP_VERSION常量,它可以判断程序的PHP版本 这...

  • PHP 预定义常量

    预定义常量预定义常量就是PHP语言内部预先定义好的常量,我们可以直接使用。比如: PHP_VERSION,PHP_...

  • PHP手册之类型转换的判别

    前言 PHP手册系列文章,会挑选一些手册中有意思的评论进行翻译手册目录: 语言参考---类型---类型转换的判别参...

  • 从0到1学习网络安全 【PHP基础-常量】

    PHP 常量 常量类似变量,但是常量一旦被定义就无法更改或撤销定义。 PHP 常量 常量是一个简单值的标识符。该值...

  • 2019-07-19

    学习PHP常量。

  • 生成器

    PHP Manual手册对于生成器的概述:PHP Manual Generator PHP Manual手册新特性...

  • 1.3 PHP常量与标量

    1. PHP常量的定义 如何定义常量: PHP中的常量需要用define()函数来定义,并且一个常量被定义后就不能...

网友评论

      本文标题:PHP手册之类常量

      本文链接:https://www.haomeiwen.com/subject/phpbqftx.html