Blogger Information
Blog 34
fans 0
comment 0
visits 28535
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
502并创建创建类,并使用php脚本进行正确的调用
1A7498的博客
Original
735 people have browsed it
<?php
//类的构造方法与查询器与设置器
class LeiMing3
{
	//private:访问控制符:私有的,必须在当前类中访问,外部不能访问
 	private $name = '二号';
 	private $age = 16;
 	private $stature = [80,60,70];
 	private $yx = [];

    //声明一个构造方法:在实例化类的时候自动调用
    //构造方法也构造器:对象属性的初始化
    public function __construct($name,$age,array $stature){
	$this->name = $name;
	$this->age = $age;
	$this->stature = $stature;
    }
	//查询器获取器,过滤外部访问
	public function __get($name){
		$msg = null;//定义一个空值
		if(isset($this->$name)){//判断传输进来的属性是否存在
			$msg = $this->$name;
		}elseif(isset($this->yx[$name])){//判断传输进来的属性是否存在自定义中
			$msg = $this->yx[$name];
		}else{
			$msg ='非法数据';//查不到该属性
		}
		return $msg;
	}
	public function __set($name,$value){
		 if(isset($this->$name)){//判断属性是否存在
            $this->$name=$value;//存在接受属性      
        }else{
            $this->yx[$name]=$value;//不存在就保存自定义属性
        }
	}
<?php
require 'LeiMing3.php';
$lm3 = new LeiMing3('3hao',28,[8,9,10]);
//测试魔术方法__get()
echo 'name: ',$lm3->name,'<br>';
echo 'age: ',$lm3->age, '<br>';
echo 'stature: ', print_r($lm3->stature,true), '<br>';
echo 'nothing:', $lm3->xxx, '<br>';//获取一个不存在的属性


//测试魔术方法: __set()
$lm3->name = '12313';
$lm3->age = 111;
$lm3->stature = [5,8,88];
echo 'name: ',$lm3->name,'<br>'; 
echo 'age: ',$lm3->age, '<br>';
echo 'stature: ', print_r($lm3->stature,true), '<br>';
$lm3->hobby = '购物';//自定义hobby属性并赋值
echo 'custom:', $lm3->hobby, '<br>';//输出自定义hobby属性
$lm3->email = '123@.123asd';//自定义email属性并赋值
echo 'custom:', $lm3->email, '<br>';//输出自定义email属性



?>

QQ截图20180505131734.png

















Correction status:qualified

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post
  • 2018-03-16 11:39:01