• 人民网评:涉及群众利益的事,必须“马上就办” 2019-04-25
  • 胡世忠在泰和调研经济运行和项目建设 2019-04-25
  • “基因魔剪”安全性再遭质疑 2019-04-23
  • 女孩面试“女二号”,车内试戏被脱裤子 2019-04-22
  • 财政部:对原产于美国的500亿美元进口商品加征关税 2019-04-18
  • 李白是哪一种书法家? 2019-04-10
  • 重庆夜色让人如此沉醉文章中国国家地理网 2019-04-04
  • 男子高速酒驾飞出立交桥 车身粉碎人无碍 2019-03-30
  • 成都康弘药业集团股份有限公司董事长柯尊洪获第十二届人民企业社会责任奖年度人物奖 2019-03-30
  • 驻最高检纪检组健全廉政档案 力求精准"画像" 2019-03-27
  • 游客被指捡石子砸老虎 北京野生动物园:正在核实 2019-03-27
  • 10月26日十九大新闻发言人专题新闻发布会 2019-03-22
  • 多交140分“亚裔税”?哈佛大学被控歧视亚裔学生 2019-03-22
  • 男子农田挖到古董抠出吓得魂飞魄散 2019-03-17
  • 瑞典南部城市发生枪击案致5人伤 警方:与恐袭无关 2019-03-10
  • 今天看啥
      热点:

        北京赛车pk10历史记录 www.zwahn.com

        首先关于const 在php的类内部只可以修饰成员属性,不可以修饰方法,如下:

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

        const在使用的时候不需要添加权限修饰字段,但是在调用const修饰的常量时是需要技巧的,因为常量是属于整个类的,而不是属于某个对象,所以在调用的时候需要使用类名加域名修饰符,例:

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

        但是在类内部调用的时候就会出现问题,如何在类内部获取当前类名或者当前对象名(php可以根据对象获取类名-反射),php中给我们提供了两个特殊的关键字,如:

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

        其中self(不加$)代表当前类名,$this代表当前对象。这样,我们就可以在类内部调用const修饰的常量了。

        接下来我们说说static

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

        但是当static修饰成员方法的时候,使用方法有一点改变,在类的内部,static修饰的方法体内部,无法访问当前类的任何普通成员变量,准确的来说是无法使用关键字$this,只可以使用当前类的静态成员变量,和类常量。

         
        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        11
        12
        13
        14
        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的过程中,调用的方法与调用static修饰的变量不同,既可以通过类名调用,也可以通过对象名调用,比如:

         
        1
        2
        3
        4
        echo '周长:'. Test::lenth(1).'<br/>'
        echo '面积:'.Test::area(1).'<br/>';  
        $per = new Test(); 
        echo $per->lenth(3);

        以上这两种调用方式都是合法的。

        北京赛车pk10历史记录 www.zwahn.comtrue//www.zwahn.com/PHPjc/1316486.htmlTechArticle首先关于const 在php的类内部只可以修饰成员属性,不可以修饰方法,如下: 1 2 3 4 5 class Test{ const PATH = c/ ; //修饰常量 const function test(){ //这种...

        相关文章

          暂无相关文章
        相关搜索:

        帮客评论

        视觉看点
      • 人民网评:涉及群众利益的事,必须“马上就办” 2019-04-25
      • 胡世忠在泰和调研经济运行和项目建设 2019-04-25
      • “基因魔剪”安全性再遭质疑 2019-04-23
      • 女孩面试“女二号”,车内试戏被脱裤子 2019-04-22
      • 财政部:对原产于美国的500亿美元进口商品加征关税 2019-04-18
      • 李白是哪一种书法家? 2019-04-10
      • 重庆夜色让人如此沉醉文章中国国家地理网 2019-04-04
      • 男子高速酒驾飞出立交桥 车身粉碎人无碍 2019-03-30
      • 成都康弘药业集团股份有限公司董事长柯尊洪获第十二届人民企业社会责任奖年度人物奖 2019-03-30
      • 驻最高检纪检组健全廉政档案 力求精准"画像" 2019-03-27
      • 游客被指捡石子砸老虎 北京野生动物园:正在核实 2019-03-27
      • 10月26日十九大新闻发言人专题新闻发布会 2019-03-22
      • 多交140分“亚裔税”?哈佛大学被控歧视亚裔学生 2019-03-22
      • 男子农田挖到古董抠出吓得魂飞魄散 2019-03-17
      • 瑞典南部城市发生枪击案致5人伤 警方:与恐袭无关 2019-03-10