📄 12-14.php
字号:
<html>
<head>
<title>面向对象的具体使用——购物车类</title>
</head>
<body>
<?
class ShopCar //类名购物车类
{
var $carName; //属性购物车名字
var $debug; //属性
function ShopCar($carName) //创建购物车方法(构造函数)
{
$this->carName=$carName; //将购物车命名为指定名称
if(!isset($_SESSION[$carName])) //如果没有保存为session
{
$_SESSION[$carName]=array(); //把购物车名称保存到session
}
}
function addCar($type,$name,$val) //向购物车中增加商品方法
{
if(array_key_exists($type,$_SESSION[$this->carName])) //如果类别已经存在
{
if(array_key_exists($name,$_SESSION[$this->carName][$type]))//如果商品存在
{
if($this->debug)echo "<p>已有{$name}商品,不必增加<p>"; //输出相应信息
return false; //返回假
}
else //如果商品不存在
{
$_SESSION[$this->carName][$type][$name]=$val; //在session中设定
}
}
else //如果类别不存在
{
$_SESSION[$this->carName][$type]=array($name=>$val); //在sessuib是设定
}
return true; //返回真值
}
function editCar($type,$name,$var) //编辑购物车方法
{
if(!array_key_exists($name,$_SESSION[$this->carName][$type])) //如果类别不存在
{
if($this->debug)echo "<p>没有{$name}商品,修改失败<p>"; //输出错误信息
return false; //返回假值
}
$_SESSION[$this->carName][$type][$name]=$var; //在session中设定
return true;
}
function delCarType($type) //删除购物车类别
{
if(!array_key_exists($type,$_SESSION[$this->carName])) //如果类别不存在
{
if($this->debug)echo "<p>没有{$type}类别,删除失败<p>"; //输出错误信息
return false; //返回假值
}
unset($_SESSION[$this->carName][$type]); //在session中删除
return true; //返回真值
}
function delCarPro($type,$name) //删除商品
{
if(!array_key_exists($name,$_SESSION[$this->carName][$type])) //如果商品不存在
{
if($this->debug)echo "<p>没有{$name}商品,删除失败<p>"; //输出错误信息
return false; //返回假值
}
unset($_SESSION[$this->carName][$type][$name]); //在session中删除
return true; //返回真值
}
function delCar() //删除购物车
{
session_unregister($this->carName); //在session中注销
}
function getCarData() //获取购物车数据
{
return $_SESSION[$this->carName]; //通过session返回
}
}
$my_car=new Shopcar("my_shopcar"); //创建对象时一定要带参数,否则会有出错提示。
$my_car->addCar("文学名著","红楼梦",5); //为购物车添加商品
$my_car->addCar("文学名著","围城",5);
$my_car->addCar("文学名著","雷雨",5);
$my_car->addCar("计算机图书","数据结构",2);
$my_car->addCar("计算机图书","C语言基础",2);
$my_car->addCar("计算机图书","软件工程",2);
$my_car->addCar("计算机图书","通信原理概论",2);
$temp=$my_car->getCarData();
print_r ($temp);
?>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -