博主信息
博文 35
粉丝 0
评论 0
访问量 33871
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
__set();__get(),方法演示,static演示
小的博客
原创
934人浏览过
<?php
header('Content-Type:text/html;charset=utf-8');
/*魔术方法:
*  1,__get();当用户访问一个无权限或者不存在的属性的时候自动调用;
*  2, __set():当用户对一个不存在或者无权限的属性赋值时调用的方法:
*  静态成员的概念:
*   1,静态成员所有对象共享,不属于某个具体对象用关键字static 声明;
*   2,类常量也属于静态成员:const
*   3,静态成员属性和方法使用self::来访问;静态属性名称要加$符号;
*    self::$name $this->name;
*   4,在静态方法中我们只使用静态属性
*   5,在一个静态方法中不允许访问非静态城成员
*   6,在类的外部可以用对象来访问一个静态方法:但不能访问一个静态属性;静态属性保存的值不会消失;
*/

class Person{
 private $_name='杨过'; 
 protected $_age=40;
  function __get($proName='People'){ 
     if($proName=='People'){   
       return $this->_name.'年龄是'.$this->_age; 
        }else{   
      echo '<script>alert("非法访问")</script>'; 
      }   
     }function __set($proName,$proValue){  
     if($proName=='age'){  
      if($proValue>18 && $proValue<120){    
      return $this->$proName=$proValue;   
    }else{    
   echo '<h2 style="color:red">'.$proValue.'是非法数据</h2>';   
  }  
  } 
  }
  }
   $obj = new Person();
   echo $obj->age=120;
  echo $obj->__get().'<br>';
  class Demo{  
    public static $count;
    public static function Add($count=0){  
      return self::$count +=$count; 
   }
    public static function Chen($count=0){  
    return self::$count=$count*$count; 
    }
    }
if($_SERVER['REQUEST_METHOD']=='GET'){
   if(empty($_GET['num1'])){  
    echo '<script>alert("数据不能为空")</script>'; 
  }elseif(empty($_GET['num2'])){  
    echo '<script>alert("数据二不能为空")</script>'; 
  }else{ 
   $num1=(int)$_GET['num1'];  
   $num2=(int)$_GET['num2'];  
   $select=$_GET['slect'];  
   if($num1<=$num2){   
   switch($select){  
   case 'jia': 
    $total=0;  
    for($i=$num1;$i<$num2;$i++){  
    $total=Demo::Add($i);    
      }    
    echo '<script>alert("累加的结果是:'.$total.'")</script>';   
    break;    
    case 'C':     
    $add=0;     
    for($i=$num1;$i<$num2;$i++){    
     $add=Demo::Chen($i);     
     }        
      echo '<script>alert("累乘的结果是'.$add.'")</script>';       
    break;    
   }   
 }else{  
  echo '<script>alert("第二个数字要大于第一个数字")</script>';  
} 
}
 }
 ?>
 <form action='demo_obj.php'> 
 请输入数字:<input type="text" name='num1'> 
 请选择:<select name="slect">         
            <option>请选择</option>          
            <option name="slect" value='jia' selected>+</option>          
            <option name="slect"  value='C'>*</option>       
       </select>
 请输入数字:<input type="text" name="num2">
</form>
<button onclick="add()" type="submit">计算</button>
<script> 
  function add(){  
   document.forms[0].submit();  
}</script>

本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学