zoukankan      html  css  js  c++  java
  • PHP的八个魔术常量

    1. 什么魔术常量


    预定义常量:预定义常量就是PHP内置的常量,预先定义好的

    PHP有很多预定义常量,比如:PHP_VERSION(版本号)、PHP_OS(操作系统)。

    这些普通的预定义常量在程序中的值是固定的,不会因为在不同的位置而改变自身的值。

    在PHP有八个特殊的预定义常量,它们的值会随着它们在代码中的位置改变而改变,我们称之为魔术常量。

    2. PHP的8个魔术常量


    序号 魔术常量 示例 描述
    1 __LINE__ 5 返回魔术常量输出时所在的行号
    2 __FILE__ E:www1.php 返回文件路径(绝对路径)
    3 __DIR__ E:www 返回文件所在的目录,当前文件位置:E:www1.php
    4 __FUNCTION__ taskList 返回函数名称,区分大小写,不在函数中时返回空字符串
    5 __CLASS__ appcontrollerUser 返回当前所在类名,包含命名空间,区分大小写
    6 __METHOD__ appcontrollerUser:test 返回当前所在方法名,包含命名空间,区分大小写
    7 __NAMESPACE__ appcontroller 返回当前命名空间,区分大小写
    8 __TRAIT__ appcontrollerPerson 返回当前所在Trait名,包含命名空间,区分大小写

    3. 使用示例


    前四个魔术常量

    <?php
    
    echo __LINE__;//3
    
    echo __FILE__;//E:www1.php
    
    echo __DIR__;//E:www
    
    echo userList();//userList
    
    function userList()
    {
    	echo __FUNCTION__;
    }
    

    后四个魔术常量

    <?php
    
    namespace appcontroller;
    
    trait Person {
        public static function demo()
        {
            echo __TRAIT__;//appcontrollerPerson
        }
    }
    
    class User
    {
    	use Person;
    
    	public static function test()
    	{
    		echo __CLASS__;//appcontrollerUser
    
    		echo __METHOD__;//appcontrollerUser::test
    	}
    }
    
    User::test();
    User::demo();
    
    echo __NAMESPACE__;//appcontroller
    
  • 相关阅读:
    【C++】对象模型
    【C++多线程】读写锁shared_lock/shared_mutex
    【C++多线程】共享数据的初始化保护
    【C++多线程】共享数据保护
    【C++多线程】lock_guard<T>类和unique_lock<T>类
    【C++多线程】转移线程所有权
    【C++ 】std::ref()和std::cref()
    【C++多线程】传递参数
    【C++多线程】detach()及注意
    linux 打开CHM文件
  • 原文地址:https://www.cnblogs.com/cfmy/p/13406449.html
Copyright © 2011-2022 走看看