Blogger Information
Blog 31
fans 0
comment 1
visits 24602
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
创建一个具有查询器和设置器的类,并正常调用20180502
jobing的博客
Original
687 people have browsed it

今天学习了创建一个具有查询器和设置器的类,并使用php脚本正常调用,以下是相应的代码:

实例

<?php 

class Goods
{
	//声明属性
	private $name = '';
	private $number = 0;
	private $price = [];

	//构造方法
	public function __construct($name,$number,$price)
	{
		$this->name = $name;
		$this->number = $number;
		$this->price = $price;
	}

	//魔术方法:查询器
	public function __get($name)
	{
		return $this->$name;
	}

	//魔术方法:设置器
	public function __set($name,$value)
	{	
		if(empty($value)){
			$msg='信息不能为空';
			if(is_array($value)){
				$this->$name = [$msg,$msg,$msg];
			}else{
				$this->$name = $msg;
			}
		}else{
			$this->$name = $value;
		}
	}
}

运行实例 »

点击 "运行实例" 按钮查看在线实例

实例

<?php 

 require './class/Goods.php';

 $goods = new Goods('可乐',6909612113716,[1,3,5]);


 echo '商品名称:'.$goods->name.'<br>';
 echo '商品条码:'.$goods->number.'<br>';
 echo '商品成本价:'.$goods->price[0].'<br>';
 echo '商品销售价:'.$goods->price[1].'<br>';
 echo '商品市场价:'.$goods->price[2].'<br>';
 echo '<hr>';

 $goods->name = '雪碧';
 $goods->number = 6907878125023;
 $goods->price = [2,4,6];
 echo '商品名称:'.$goods->name.'<br>';
 echo '商品条码:'.$goods->number.'<br>';
 echo '商品成本价:'.$goods->price[0].'<br>';
 echo '商品销售价:'.$goods->price[1].'<br>';
 echo '商品市场价:'.$goods->price[2].'<br>';
 echo '<hr>';

 $goods->name = '';
 $goods->number = '';
 $goods->price = [];
 echo '商品名称:'.$goods->name.'<br>';
 echo '商品条码:'.$goods->number.'<br>';
 echo '商品成本价:'.$goods->price[0].'<br>';
 echo '商品销售价:'.$goods->price[1].'<br>';
 echo '商品市场价:'.$goods->price[2].'<br>';

运行实例 »

点击 "运行实例" 按钮查看在线实例

效果展示图:

20180502.png

总结:

创建一个类的步骤:

1.声明属性,使用private 关键字来修饰类属性,修饰后的属性只能在本类方法中访问,不能被外部,或者子类访问

2.使用函数__construct声明构造方法

3.使用魔术方法:查询器__get($name)

4.使用魔术方法:设置器__set($name,$value)

备注:

魔术方法可以适用于所有存在或不存在的类属性,不需要再为每个属性创建对应的访问接口

Correction status:Uncorrected

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