今天看啥
    热点:

      天发国际娱乐官网:  其实,从某种意义上讲,“上海金基准价”的提出就是中国黄金市场话语权的一个重要表现,并将更好发挥黄金市场人民币价格发现功能,为全球黄金市场提供可交易、可信赖的人民币基准价格,有助于更好地反映中国黄金市场的真实供需关系,有序引导资源流动,促进市场的有效配置和均衡。

      首先关于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);

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

      www.1click-soft.comtruehttp://www.1click-soft.com/PHPjc/1316486.htmlTechArticle首先关于const 在php的类内部只可以修饰成员属性,不可以修饰方法,如下: 1 2 3 4 5 class Test{ const PATH = c/ ; //修饰常量 const function test(){ //这种...

      相关文章

        暂无相关文章
      相关搜索:

      帮客评论

      视觉看点
      百度 360 搜狗