返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >创建和获取 PHP 类常量
  • 699
分享到

创建和获取 PHP 类常量

2024-02-27 20:02:38 699人浏览 独家记忆
摘要

本文将查看多个代码示例,这些示例将教你如何创建 PHP 类常量:const 关键字、访问修饰符和 final 关键字。你还将学习如何使用静态变量模拟常量。 在 php 中使用 const 关键字创

本文将查看多个代码示例,这些示例将教你如何创建 PHP 类常量:const 关键字、访问修饰符和 final 关键字。你还将学习如何使用静态变量模拟常量。


php 中使用 const 关键字创建类常量

PHP 有 const 关键字。你可以使用此关键字来创建常量。

创建后,你可以通过范围解析运算符 :: 访问常量。

在我们的下一个示例中,我们定义了一个类。

在这个类中,我们有一个常量。此外,函数通过范围解析运算符访问此常量。

我们可以使用 Scope Resolution Operator 从类名中直接访问它以显示常量。


<?php
    class ClassWithConstant {
        const CLASSCONSTANT = 23;

        function show_constant() {
            echo  self::CLASSCONSTANT. "\n";
        }
    }

    echo ClassWithConstant::CLASSCONSTANT;
?>

输出:


23

此外,你可以创建一个新对象。该对象可以通过两种方式显示常量。

  • 调用 show_constant 函数来显示常量。
  • 通过范围解析运算符 :: 显示常量。

你将在下一个代码块中找到这两个选项。


<?php
    class ClassWithConstant {
        const CLASSCONSTANT = 23;

        function show_constant() {
            echo  self::CLASSCONSTANT. "\n";
        }
    }

    $new_object = new ClassWithConstant();

    // Call the inner function
    // to reveal the constant
    $new_object->show_constant();

    // Or, access the constant via scope
    // resolution
    echo $new_object::CLASSCONSTANT;
?>

输出:


23
23

最后一个选项是将类名分配给字符串变量,然后通过范围解析访问常量。


<?php
class ClassWithConstant {
    const CLASSCONSTANT = 23;

    function show_constant() {
        echo  self::CLASSCONSTANT. "\n";
    }
}

$class_name = "ClassWithConstant";
echo $class_name::CLASSCONSTANT. "\n";

输出:


23

在 PHP 中使用访问修饰符创建常量

PHP 的访问修饰符是 publicprivateprotected。从 PHP 7.1 开始,你可以使用这些访问修饰符创建常量。

此外,任何使用 private 修饰符声明的常量都不能在该类之外访问。

我们的下一个代码示例定义了两个带有 publicprivate 访问修饰符的常量。我们可以通过 Scope Resolution Operator 访问公共常量。

任何访问私有常量的尝试都会导致致命错误。


<?php
    class ClassWithConst {

        // As of PHP 7.1.0
        public const PUBLICCONSTANT = 'Public Constant';
        private const PRIVATECONSTANT = 'Private Constant';

    }

    echo ClassWithConst::PUBLICCONSTANT . "\n";
?>

输出:


Public Constant

在 PHP 中使用 final 关键字创建常量

使用 final 关键字,你可以模拟公共常量。由于 final 关键字,类范围将限制此常量,谢谢。

此外,你可以在类声明之前编写 final 关键字。通过这样做,final 关键字将阻止继承。

下一个代码展示了如何使用 final 关键字创建常量。首先,在第一个类定义之前有一个 final 关键字。

然后,一个函数调用第二个类定义中的类定义。反过来又返回常数。


<?php
	final class ClassWithConstants {

	    public function getConstant()
	    {
	        return 'CONSTANT VALUE';
	    }
	}

	class CallClassConstant {

	    static public function ReturnClassConstant()
	    {
	        return new ClassWithConstants();
	    }
	}


	$constant_value = CallClassConstant::ReturnClassConstant()->getConstant();

	echo $constant_value;
?>

输出:


CONSTANT VALUE

在 PHP 中使用静态变量模拟常量

顾名思义,静态变量并不意味着改变。因此,一旦分配,你将无法更改它们。

这就像常量的行为,因为一旦为它们分配值,你就会希望它们保持不变。

在下面的代码示例中,有一个类定义。此类有一个静态变量设置为 null

此外,它还有一个访问修饰符,可以防止外部访问。在类中,我们有一个函数,它在分配后返回静态变量。

此函数将忽略任何重新分配静态变量的进一步尝试。因此,它将始终返回第一个分配的值。


<?php
    class ClassWithStaticVars {
        private static $static_variable = null;

        public static function returnStaticVariable($static_value = null)
        {
            if (
                (is_null(self::$static_variable) === true)
                && (isset($static_value) === true)
            ) {
                self::$static_variable = $static_value;
            }

            return self::$static_variable . "\n";
        }
    }

    echo ClassWithStaticVars::returnStaticVariable();
    echo ClassWithStaticVars::returnStaticVariable(200);
    echo ClassWithStaticVars::returnStaticVariable("Hello");
    echo ClassWithStaticVars::returnStaticVariable();
?>

输出:


200
200
200

--结束END--

本文标题: 创建和获取 PHP 类常量

本文链接: https://lsjlt.com/news/569174.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 创建和获取 PHP 类常量
    本文将查看多个代码示例,这些示例将教你如何创建 PHP 类常量:const 关键字、访问修饰符和 final 关键字。你还将学习如何使用静态变量模拟常量。 在 PHP 中使用 const 关键字创...
    99+
    2024-02-27
  • PHP:变量类型获取和数据类型转换
    目录 1、获取变量类型2、变量类型判断3、类型转换3.1、int 转 string3.2、string 转 int 1、获取变量类型 ...
    99+
    2023-09-18
    php
  • JAVA中cookie与session的创建和获取
    本篇内容介绍了“JAVA中cookie与session的创建和获取”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!浏览器会在本地保存一些小文本...
    99+
    2023-06-02
  • php动态获取常量的方法是什么
    在PHP中,常量是指在脚本执行期间不变的值。常量一旦被定义,在脚本的其他任何地方都可以使用。常量的值只能是标量数据类型(布尔值、整数...
    99+
    2023-10-07
    php
  • 在 PHP 中获取类名
    本篇文章将讨论如何通过类名解析、PHP __CLASS__ 常量和 get_class() 方法获取 PHP 类名。你将了解其在类内外的类名解析中的用法。 在 PHP 中使用类名解析来获取类名 ...
    99+
    2024-02-27
  • JavaScrip如何创建常量
    这篇文章主要介绍了JavaScrip如何创建常量,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。所谓常量即只能读取不能编辑(删除,修改)的变量...
    99+
    2024-04-02
  • 在 PHP 中创建和使用静态类
    在 PHP 中,静态类是在程序中只实例化一次的类。它必须有一个静态成员(variable)、静态成员函数(method),或两者兼有。在 PHP 中使用静态变量创建静态类让我们创建一个类并初始化四个变量。然...
    99+
    2024-02-27
  • 获取MySQL中变量的类型?
    无法获取 MySQL 中变量的类型。使用 CAST 运算符将变量的类型转换为另一个类型。语法如下 -SET @yourVariableName:=’anyValue’使用 CAST 运算符转换为另一种类型。语法如下 ...
    99+
    2023-10-22
  • JS ES5创建常量详解
    目录前言ES 5 创建常量Object.defineProperty 的基础用法创建常量常量居然可以修改值?兼容性前言 ES6 刚推出的时候,let和const应该是大多数人学习ES...
    99+
    2024-04-02
  • 怎么理解PHP常量的定义与值的获取
    本篇内容介绍了“怎么理解PHP常量的定义与值的获取”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!PHP常量是什么常量和变量相对应,常量简单来...
    99+
    2023-06-25
  • PHP如何修改和获取private变量的值
    小编给大家分享一下PHP如何修改和获取private变量的值,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!php修改private值的方法:首先打开相应的PHP代...
    99+
    2023-06-14
  • C++类常量和类枚举
    目录1.类常量2.类枚举文章转自公众号:Coder梁(ID:Coder_LT) 1.类常量 有的时候, 我们希望能给类当中定义一些常量,可以给所有类的对象使用。 比如说我们在类当中...
    99+
    2024-04-02
  • 怎么获取javascript变量的类型
    这篇文章主要介绍“怎么获取javascript变量的类型”,在日常操作中,相信很多人在怎么获取javascript变量的类型问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么...
    99+
    2024-04-02
  • 如何获取MySQL表的创建日期?
    要获取 MySQL 表的创建日期,请使用 information_schema.tables 中的 create_time。语法如下 -SELECT create_time FROM INFORMATION_SCHEMA.TABLE...
    99+
    2023-10-22
  • php怎么获取当前的类名和方法名
    本教程操作环境:windows7系统、PHP7.1版,DELL G3电脑在php中,可以利用魔术常量来获取类名和方法名。魔术常量属于特殊的预定义常量,这些常量可以根据它们的使用位置而变化。魔术常量通常以两个下划线__开头,并以两个下划线__...
    99+
    2014-08-05
    php 获取类名 获取方法名
  • Python中怎么获取文件的创建和修改时间
    这篇文章将为大家详细讲解有关Python中怎么获取文件的创建和修改时间,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。# 参数 file: 待处理文件的绝对路径# retuen: listim...
    99+
    2023-06-02
  • Golang有类型常量和无类型常量的区别
    场景 在 Go 语言中,常量分为有类型常量和无类型常量。 // 有类型常量 const VERSION string = "v1.0.0" // 无类型常量 const RELEA...
    99+
    2023-05-14
    Golang 有类型常量 无类型常量
  • 在 PHP 中获取和读取数据
    我们在开发 PHP 应用程序时会遇到不同的内容。有时,我们需要读取文件并从用户、其他来源和应用程序获取内容。 在 PHP 和大多数编程语言中,我们可以使用不同的方式和过程来获取请求和读取内容。内置函...
    99+
    2024-02-27
  • Golang反射获取变量类型和值的方法详解
    目录1. 什么是反射2. reflect.Type2.1 类型Type和种类Kind2.2 引用指向元素的类型2.3 结构体成员类型3. reflect.Value3.1 结构体的成...
    99+
    2022-12-08
    Golang反射获取变量类型 值 Golang反射获取变量类型 Golang反射获取值 Golang反射
  • php怎么获取类中方法名
    php获取类中方法名的两种方法:1、使用魔术常量“__FUNCTION__”,可以返回类中当前方法的名称。2、使用get_class_methods()函数,可以获取指定类中所有方法的名称,返回一个包含所有方法名的数组,语法“get_cla...
    99+
    2022-06-14
    php
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作