普通常量  define('常量名',常量值);

以前说过:define定义的常量,全局有效
无论是页面内,函数内,类内,都可以访问。

例:
define('ACC','Deny')

   class Human{

    static public function
show(){
   
  
     
  echo ACC;
   
 }
}

Human::show();     //输出
   Deny


能否定义 专门在类内发挥作用的常量
专门在类内发挥作用  说明
1.作用域在类内,类似于静态属性
2.又是常量,则不可改

其实就是“不可改变的静态属性”
类常量在类内用 const 声明即可
不用加权限修饰符,而且权限是默认public的,即外部也可以访问

类常量 静态属性 静态方法  ---》都是存放在类空间的


例:

 class Human{
     const
HEAD=1;      
 //声明了一个类常量
}


echo Human::HEAD;    
   //输出  
1;

注意:
  这个类常量的调用方式和静态方法一样。




魔术常量

1.无法手动修改他的值,所以叫常量

2.但是值又是随环境变动的,所以叫魔术


----魔术常量


魔术常量      
 自己查手册看去。

__FILE__ 返回当前文件的路径

在框架开发或者是网站初始化脚本中,用来计算网站的根目录

__LINE__ 返回当前的行号

在框架中,可以用来在debug时,记录错误信息。

__DIR__ 返回当前的目录

__CLASS__  返回当前的类名

__METHOD__ 返回当前的方法名




魔术常量直接用 echo 输出就行了

例:
echo '当前正在运行的是',__FILE__,‘文件’;



后期静态绑定  /   延迟静态绑定


指类的计算self的定义不是以定义时为准,而是以运行时的计算结果为准


例:

  class Human{

    static public function
whoami(){

     
 echo '来自父类的whoami在执行';
    }

    static public function
say(){

     
   self::whomi();
   
 //子类内没有say方法,找到了父类这里
     
     
     
     
     
//在这里的self指的是 父类
   
 }

static public function say2(){

     
    static::whoami();
  //后期静态绑定从这里开始
     
     
     
     
     
//子类也没有say2方法,又找到父类这里   
     
     
     
     
      //但是父类用
static::whoami()
     
     
     
     
     
//指调用你的子类自己的whoami方法  
     
     
     
     
     
//如果子类没有whoami方法则还会调用父类的whoami方法
   
 }

}

   class Stu extends
Human{

     static
public function whoami(){

     
  echo '来自于子类的whoami在执行';
   
 }
}


Stu::say();     //输出
    来自父类的whoami在执行

Stu::say2();    //输出
    来自于子类的whoami在执行

PHP面向对象——类常量,魔术常量与延期绑定的更多相关文章

  1. Php面向对象 – 类常量

    Php面向对象 – 类常量 类常量:类中,保存执行周期内,不变的数据. 定义: constkeyword const 常量名 = 常量值 样例: class Student { public  $st ...

  2. PHP中与类有关的几个魔术常量

    与类有关的魔术常量: 以前学过的魔术常量: __FILE__ __DIR__ __LINE__ 现在: __CLASS__: 代表当前其所在的类的类名: __METHOD__:代表其当前所在的方法名:

  3. PHP中的预定义常量、类常量和魔术常量的区别

    PHP 向它运行的任何脚本提供了大量的预定义常量.不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了. 对于一些基本的常量是这些常量在 ...

  4. php的魔术常量以及类的模式方法

    魔术方法class A { const PI = 3.14; static $type = 'type1'; public $a1='a1'; public function fun1(){ var_ ...

  5. php5魔术函数、魔术常量

    魔术函数 1.__construct()  实例化对象时被调用,  当__construct和以类名为函数名的函数同时存在时,__construct将被调用,另一个不被调用. 2.__destruct ...

  6. php魔术方法和魔术常量

    1.__construct() 实例化对象时被调用, 当__construct和以类名为函数名的函数同时存在时,__construct将被调用,另一个不被调用. 2.__destruct() 当删除一 ...

  7. 几个 PHP 的“魔术常量”

    PHP 向它运行的任何脚本提供了大量的预定义常量.不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了. 有八个魔术常量它们的值随着它们在 ...

  8. 魔术常量(Magic constants)

    魔术常量(Magic constants) PHP中的常量大部分都是不变的,但是有8个常量会随着他们所在代码位置的变化而变化,这8个常量被称为魔术常量. __LINE__,文件中的当前行号 __FIL ...

  9. php -- 魔术方法、魔术常量 简单介绍

    魔术方法:PHP把类中所有以__(两个下划线)开头的方法当成魔术方法,一般建议用户不要将自定义的方法前面加上__作为前缀.魔术方法: 1. __construct() 类的默认构造方法,如果__con ...

随机推荐

  1. 百度定位API报错:leaked ServiceConnection com.baidu.location.LocationClient$1@426122f0

    使用百度MapApi定位时候,当退出当时使用的activity后,则会报如题的异常,解决办法: 1:当退出当前定位的activity时,一定要在onDestroy方法中要mLocClient.stop ...

  2. iOS开发——多线程篇——快速生成沙盒目录的路径,多图片下载的原理、SDWebImage框架的简单介绍

    一.快速生成沙盒目录的路径 沙盒目录的各个文件夹功能 - Documents - 需要保存由"应用程序本身"产生的文件或者数据,例如:游戏进度.涂鸦软件的绘图 - 目录中的文件会被 ...

  3. Kali Linux渗透基础知识整理(二)漏洞扫描

    Kali Linux渗透基础知识整理系列文章回顾 漏洞扫描 网络流量 Nmap Hping3 Nessus whatweb DirBuster joomscan WPScan 网络流量 网络流量就是网 ...

  4. HDU 3549 网络最大流再试

    http://acm.hdu.edu.cn/showproblem.php?pid=3549 同样的网络最大流 T了好几次原因是用了cout,改成printf就A了 还有HDU oj的编译器也不支持以 ...

  5. 浏览器js自动查表脚本

    javascript: void((function() {$.get("", {wen: "880350384879600241",action: " ...

  6. python对象的生命周期

    引言 碰到以下问题: 代码1: from Tkinter import * root = Tk() photo = PhotoImage(file=r'E:\workspace\python\111. ...

  7. ext grid 子表格

    Ext.define('app.view.main.biz.customer.receipt.followup.FollowUpActionPanel', { extend: 'Ext.grid.Pa ...

  8. pfsense 企业应用实例

    从萌生更换公司网关的想法,到选择.测试.部署陆陆续续用时两个月有余.选择的标准是open and free.这期间不断在查阅一些资料,测试了7.8个各开源防火墙产品.这些产品中大多是基于linux,少 ...

  9. codeforces 425D Sereja and Squares n个点构成多少个正方形

    输入n个点,问可以构成多少个正方形.n,xi,yi<=100,000. 刚看题的时候感觉好像以前见过╮(╯▽╰)╭最近越来越觉得以前见过的题偶尔就出现类似的,可是以前不努力啊,没做出来的没认真研 ...

  10. nyoj925_国王的烦恼_并查集

    国王的烦恼 时间限制:3000 ms  |  内存限制:65535 KB 难度:2   描述 C国由n个小岛组成,为了方便小岛之间联络,C国在小岛间建立了m座大桥,每座大桥连接两座小岛.两个小岛间可能 ...