define定义全局常量:

define('PATH', '/data/home/www');

const也是定义常量, 一般用于类中, 饰成员属性,不可以修饰方法,如下:

class Test{
const PATH = 'c/';//修饰常量
const function test(){//这种方法是错误的,const无法修饰方法
}
}

在类外部调用的时候, 不用加 $ 号:

    echo Test::PATH;
//也可以使用下面的方法调用
$test = new Test();
echo $test::PATH;

在类内部调用的话, 是这样调用:

class Test{
const PATH = 'c/';//修饰常量
public function ass(){
echo $this::PATH.'<br />';
echo self::PATH.'<br />';
}
}

atatic可以修饰属性, 也可修饰方法。

const虽然很好用,但是一经定义就无法修改值了,但是有的时候我们需要一个属于类的属性,但是又可以修改其值,比如统计此类构造了几个对象,这个时候就是使用static的时候了,在static修饰类的成员变量的时候,它的使用方法基本与const一样。并且static修饰的成员变量的值是可以修改的。

但是当static修饰成员方法的时候,使用方法有一点改变,在类的内部,static修饰的方法内部,无法访问当前类的任何普通成员变量。只可以使用当前类的静态成员变量(static ),和类常量(const)。

也就是说, 一个方法定义成static后, 它只能访问static定义的变量或const定义的变量, 其他(如public)定义的属性无法访问。

    class Test{
static public $name='asd';
const π = 3.1415926;
public $age = 10;
public static function lenth($r){
//echo $this->age;//会发生错误,不能访问普通的成员变量
echo Test::$name;
return $r*2*self::π; }
public static function area($r){
return $r*$r*self::π;
}
}

访问static的方法是这种形式:

#Char::Join();
#$test->Join();
#$test::Join();
可以这样调用
    echo '周长:'. Test::lenth(1).'<br/>';
echo '面积:'.Test::area(1).'<br/>';
$per = new Test();
echo $per->lenth(3);

static的性性访问跟const一样。

参考链接:

static变量使用: http://www.cnblogs.com/perl6/p/6436756.html

static方法使用: http://www.cnblogs.com/perl6/p/6437039.html

其他const/static介绍: http://blog.csdn.net/u012368971/article/details/53492555

PHP对象5: define / const /static的更多相关文章

  1. const、define 和 static 的区别

    目录 define.const static define.const 在 C++ 中,const 和 define 都可以用来定义常量.但是这二者之间有很大的区别: define 的作用 用 def ...

  2. const,static,extern,#define

    一.const // 简单定义变量,可以修改变量的值 ; a = ; // const的用法 // 用法一: ; ; // 不允许修改,因为 const 修饰 b/c,指定 b/c 为常量!! // ...

  3. const ,static,inline

    const: 1 定义变量 ,如下写法都可以: TYPE const ValueName = value;                  const TYPE ValueName = value; ...

  4. c++ const static

    const作用: 1.定义常量,可以保护被修饰的东西,防止意外的修改,增强程序的健壮性. const int Max = 100; void f(const int i) { i=10;//error ...

  5. PHP中const,static,public,private,protected的区别

    原文地址:http://small.aiweimeng.top/index.php/archives/54.html const: 定义常量,一般定义后不可改变static: 静态,类名可以访问pub ...

  6. c++中的static,const,const static以及它们的初始化

    const定义的常量在超出其作用域之后其空间会被释放,而static定义的静态常量在函数执行后不会释放其存储空间. static表示的是静态的.类的静态成员函数.静态成员变量是和类相关的,而不是和类的 ...

  7. const,static,extern 简介

    const,static,extern 简介 一.const与宏的区别: const简介:之前常用的字符串常量,一般是抽成宏,但是苹果不推荐我们抽成宏,推荐我们使用const常量. 执行时刻:宏是预编 ...

  8. 李洪强iOS经典面试题155 - const,static,extern详解(面试必备)

    李洪强iOS经典面试题155 - const,static,extern详解(面试必备) 一.const与宏的区别(面试题): const简介:之前常用的字符串常量,一般是抽成宏,但是苹果不推荐我们抽 ...

  9. const ;static;extern的使用与作用

     const                                                                /**      const :常量      const  ...

随机推荐

  1. PHP中关于取模运算及符号

    执行程序段<?php  echo 8%(-2) ?>,输出结果是: %为取模运算,以上程序将输出0 $a%$b,其结果的正负取决于$a的符号. echo ((-8)%3);     //将 ...

  2. ZOJ2725_Digital Deletions

    题意是这样的,一开始给你一串数字,两个人轮流操作,操作可以分为两种. 1.每次修改一个数字,使其变为一个小于当前的非负数. 2.移除中间的某一个0以及0右边的所有数字. 使得所有数字消失的游戏者获胜. ...

  3. VS中碰到的问题

    1.调试的时候,语句已经注释掉了,但是在执行的时候还是运行了(或者某些变量值改变后,程序依然用的之前数据). 右键解决方案-->清理,然后重新生成.

  4. 【JavaScript】函数表达式

    一.前言        接着上一篇的内容,继续学习JavaScript. 二.内容       函数的声明 function functionName(arg0,arg1,arg2){ //函数体 } ...

  5. 【BZOJ1143】祭祀(网络流)

    [BZOJ1143]祭祀(网络流) 题面 BZOJ 洛谷 Description 在遥远的东方,有一个神秘的民族,自称Y族.他们世代居住在水面上,奉龙王为神.每逢重大庆典, Y族都 会在水面上举办盛大 ...

  6. Java试题二

    QUESTION 37Given:1. class Super {2. private int a;3. protected Super(int a) { this.a = a; }4. } ...1 ...

  7. 解题:POI 2016 Nim z utrudnieniem

    题面 出现了,神仙题! 了解一点博弈论的话可以很容易转化题面:问$B$有多少种取(diu)石子的方式使得取后剩余石子异或值为零且取出的石子堆数是$d$的倍数 首先有个暴力做法:$dp[i][j][k] ...

  8. 解题:POI 2007 Weights

    题面 这是个$O(nlog^2$ $n)$的解法,因为蒟蒻博主没有看懂$O(nlog$ $n)$的更优秀的解法 显然从小到大装砝码是最优的方法,又显然从大到小装容器不会使得答案变劣,还显然砝码数具有单 ...

  9. UVA11426 GCD - Extreme (II) (欧拉函数/莫比乌斯反演)

    UVA11426 GCD - Extreme (II) 题目描述 PDF 输入输出格式 输入格式: 输出格式: 输入输出样例 输入样例#1: 10 100 200000 0 输出样例#1: 67 13 ...

  10. libevent学习文档(三)working with event

    Events have similar lifecycles. Once you call a Libevent function to set up an event and associate i ...