如你看到这篇文章对PHP秒杀系统感兴趣,那么可以点击图像查看连载的文章。
源码在第二篇文章可以看到,自行拉取
1. 商品服务端代码开发list.php(秒杀商品列表)并详解include 'init.php';
这里直接引入了init.php文件,重点看我圈出来的,引入的文件是公共文件,后边在说
2. 指定页面的标题,和实例化模型,代码已注释
3. $list_active = $active_model->getListInuse();
这里是获取上线的活动列表,走的是这个方法,我们看到了查询方式跟我们平时的不太一样,这个是我们pdo更严密的查询方式
平时的查询:select * from where id = 1;
pdo的第一种:select * from where id = ? and username = ? ,array('id'=>1,'username' => 'kaka')
pdo的第二种:select * from where id=:id and username=:username ,array('id'=>1,'username' => 'kaka');
在这里采取的是第二种方式
4 . 这里的查询方式还有原理解释一下
a. 首先看一下getDb()这个方法在这个里边有个getInstance方法
getInstance方法的解释,在db类中,我们定义了一个静态变量$instance,然后在下边有个getInstance的方法,在这个方法中使用了单例模式返回创建的实例对象
b. 我们来打印一下最后返回给getDb()的值
c. 为什么这里出来时settings这属性
在第一篇的时候也简单的写过着属性,这是存储我们数据库配置信息的一个值
然后在构造函数里边我们进行了连接数据库调用了connect方法。并且在构造函数里边存储了数据库配置的值
d. 当然这个config也不是凭空出来的,文件在配置文件里边
4. 获取到活动列表后,我们就需要将活动中的商品id取出来并保存起来,这里没有难点,都能看的懂
5. 最后一点需要说明的就是配置文件的自动加载
在init.php文件里边我们加载过一个/function/global.inc.php'文件,还记得吧!圈的这个在local这个配置文件,关于自动加载这块会在后边单独一篇文章来写
6. 最后就是引入模板,并且渲染的问题了。
直到上边我们的list秒杀商品列表这个服务端代码就结束了
2. list模板开发关于模板开发就不进行一步步说明了,都是一些很简单的html代码,没有多大意义,模板开发都是根据第二篇的项目流程写的。