您的位置:首页 > 编程语言 > PHP开发

php中的define()、const/constant()与魔术常量

2019-02-14 14:13 106 查看

首先我们谈谈函数constant()和定义常量的const与define()用法与主要事项吧!

constant()

  1. 函数返回一个常量值

const

  1. 定义常量时,必须要一个初始化的值,值不可在程序中更改。。
  2. 无需 $ 修饰符,常量名字母大写。
  3. 可以在类里面定义常量,属于一个类的,可以被子类继承。
  4. 不能在函数或者if判断语句使用。
  • 语法:

    [code]1.const x=10; 或者 const int x=10   //合法
    
    2.const x;  //非法(未初始)
    
    if(条件){
    const x = 666;
    }
    echo x;//报错

define()

  1. 函数定义常量,值不可在程序中更改。
  2. 无需 $ 修饰符,对常量名字母大小写不敏感。
  3. 不可以在类里面定义常量。
  4. 函数能调用的地方都能使用。
  •  语法:

    [code]define(name,value,case_insensitive)
    
    1.name:规定的常量名、
    
    2.value:规定的常量值、
    
    3.case_insensitive:规定常量名对大小写是否敏感。可选(设置为 true,则对大小写不敏感。默认是 false 对大小写敏感)
    //敏感例子
    define("PI", 3.14);
    echo constant("PI");//输出  3.14
    //不敏感例子
    define("SCHOOL", "新东方",true);
    echo constant("school");//输出 新东方

其次,在php中也会接触魔术常量。

魔术常量:

[code] __FILE__  //代表当前网页文件的完整物理路径
__DIR__   //代表当前网页文件所在的文件夹路径
__LINE__  //代表当前这个常量名所在的“行号”

需要注意的是:魔术常量都可以直接输出,无需放入返回函数,否则会报错。 

拓展:

  • const类继承:

    [code]class Fl{
    const SAY= 'hello , php!';
    }
    // extends继承Fl
    class Zl extends Fl{
    static function jC(){
    // ::  调用
    echo parent::SAY;
    }
    }
    Zl::jC(); //输出 hello , php!

    拓展知识点:

  1. PHP的调用  ::   
  2. extends  继承。
  3. 由static修饰的变量称为静态变量,也是一个全局变量。
  4. 由static修饰的函数称为静态成员函数,调用这个函数不会访问或者修改任何对象(非static)数据成员。

 

 

 

 

 

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: