Thinkphp 5.0 购物网站

本文介绍了如何使用Thinkphp5.0框架搭建一个购物网站,包括Thinkphp5.0的目录结构、配置文件、命令行工具、模块自动化搭建、URL路由、数据库设计等关键步骤。详细讲解了配置静态文件路径、视图模板的引用、数据库表的创建,以及如何处理图片上传。最后,展示了登录、注册等后台功能的实现。
摘要由CSDN通过智能技术生成

一:采用Thinkphp5.0框架

Thinkphp5.0简介:

官网下载 和 composer(php依赖管理工具)安装。

目录结构:

application是应用目录,

index目录是模块目录:

模块目录下可以有控制器controller目录控制器直接命名Index.php这里和thinkphp3(IndexController.class.php)不一样了。

也可以在模块下创建model,view目录。

command.php是命令行工具配置。

common.php是公共函数。

config.php是应用公共函数前台可以直接调用。

database.php是数据库的配置文件。

route.php url路由配置文件。

tags.php  应用行为扩展配置文件。

 

extend目录:

扩展的类库

public目录:

对外部访问的目录

static目录下放的是静态资源(js,css,image)。

index.php文件是项目的入口文件。

router.php文件是快速测试文件。

runtime目录:

运行时候生成的文件。  

vendor目录:

第三方类库

thinkphp目录:

thinkphp5核心类库目录。

 

build.php文件:

定义的自动生成定位文件。

 

think文件:

命令入口设置文件。

 

TP5神器-webserver

 

config.php里面设置

  'default_return_type'    => 'html',这样就能控制前台输出模式类型。

 

虚拟域名配置:

也可以使用集成工具配置phpstudy等方面的。

TP5自动化模块搭建

<?php
// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006~2016 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: liu21st <liu21st@gmail.com>
// +----------------------------------------------------------------------


return [
    // 生成应用公共文件
    '__file__' => ['common.php', 'config.php', 'database.php'],


    // 定义demo模块的自动生成 (按照实际定义的文件名生成)
    /* 'demo'     => [
        '__file__'   => ['common.php'],
        '__dir__'    => ['behavior', 'controller', 'model', 'view'],
        'controller' => ['Index', 'Test', 'UserType'],
        'model'      => ['User', 'UserType'],
        'view'       => ['index/index'],
    ], */
    // 其他更多的模块定义
    'common' =>[
        '__dir__'    => ['model'],
        'model'      => ['Category', 'Admin'],
    ],
    
];

 

1.在app目录下创建了build.php文件
2.命令行切换到站点根目录下

3.使用命令 php think build

 

编写config.php配置文件修改静态文件路径。

view里面的页面如果存在公共部分的页面,应该放在一个目录里面作为公共使用。需要的页面只需要导入就可以了。

{include file="public/head,public/nav"} 这里和thinkphp3不太一样。<>变 { }。

 

url访问模式http://localhost/thinkphp5.0/index.php?s=index/user/register

http://localhost/thinkphp5.0/index.php/index/user/register 一样效果

s是模块,后面是控制器,然后方法如果页面的链接可以写成{:url('user/register')};tp5新特性

 

需求分析:

三大模块  商家模块:

主平台模块:

前台模块:

 

数据库设计:

数据表:

#生活分类表
CREATE TABLE o2o_category(
   id int(11) unsigned NOT NULL auto_increment,
   name VARCHAR(50) NOT NULL DEFAULT '',
   parent_id int(10) unsigned NOT NULL DEFAULT 0,
   listorder int(8) unsigned NOT NULL DEFAULT 0,
   status tinyint(1) NOT NULL DEFAULT 0,
   create_time int(11) unsigned NOT NULL DEFAULT 0,
   update_time int(11) unsigned NOT NULL DEFAULT 0,
   PRIMARY KEY (id),
   KEY parent_id(parent_id)
)ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;


#城市表
CREATE TABLE o2o_city(
   id int(11) unsigned NOT NULL auto_increment,
   name VARCHAR(50) NOT NULL DEFAULT '',
   uname VARCHAR(50) NOT NULL DEFAULT '',
   parent_id int(10) unsigned NOT NULL DEFAULT 0,
   listorder int(8) unsigned NOT NULL DEFAULT 0,
   status tinyint(1) NOT NULL DEFAULT 0,
   create_time int(11) unsigned NOT NULL DEFAULT 0,
   update_time int(11) unsigned NOT NULL DEFAULT 0,
   PRIMARY KEY (id),
   KEY parent_id(parent_id),
   UNIQUE KEY uname(uname)
)ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;


#商圈表
CREATE TABLE o2o_area(
   id int(11) unsigned NOT NULL auto_increment,
   name VARCHAR(50) NOT NULL DEFAULT '',
   city_id int(11) unsigned NOT NULL DEFAULT 0,
   parent_id int(10) unsigned NOT NULL DEFAULT 0,
   listorder int(8) unsigned NOT NULL DEFAULT 0,
   status tinyint(1) NOT NULL DEFAULT 0,
   create_time int(11) unsigned NOT NULL DEFAULT 0,
   update_time int(11) unsigned NOT NULL DEFAULT 0,
   PRIMARY KEY (id),
   KEY parent_id(parent_id),
   KEY city_id(city_id)
)ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;


#商户表
CREATE TABLE o2o_bis(
   id int(11) unsigned NOT NULL auto_increment,
   name VARCHAR(50) NOT NULL DEFAULT '',
   email VARCHAR(50) NOT NULL DEFAULT '',
   logo VARCHAR(255) NOT NULL DEFAULT '',
   licence_logo VARCHAR(255) NOT NULL DEFAULT '',
   description text NOT NULL,
   city_id int(11) unsigned NOT NULL DEFAULT 0,
   city_path varchar(50) NOT NULL DEFAULT '',
   bank_info varchar(50) NOT NULL DEFAULT '',
   money decimal(20,2) NOT NULL DEFAULT '0.00',
   bank_name varchar(50) NOT NULL DEFAULT '',
   bank_user varchar(50) NOT NULL DEFAULT '',
   faren varchar(20) NOT NULL DEFAULT '',
   faren_tel varchar(20) NOT NULL DEFAULT '',
   listorder int(8) unsigned NOT NULL DEFAULT 0,
   status tinyint(1) NOT NULL DEFAULT 0,
   create_time int(11) unsigned NOT NULL DEFAULT 0,
   update_time int(11) unsigned NOT NULL DEFAULT 0,
   PRIMARY KEY (id),
   KEY name(name),
   KEY city_id(city_id)
)ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;


#商户账户表
CREATE TABLE o2o_bis_account(
   id int(11) unsigned NOT NULL auto_increment,
   username VARCHAR(50) NOT NULL DEFAULT '',
   password char(32) NOT NULL DEFAULT '',
   code VARCHAR(10) NOT NULL DEFAULT '',
   bis_id int(11) unsigned NOT NULL DEFAULT 0,
   last_login_ip VARCHAR(30) NOT NULL DEFAULT '',
   last_login_time int(11) unsigned NOT NULL DEFAULT 0,
   is_main tinyint(1) unsigned NOT NULL DEFAULT 0,
   listorder int(8) unsigned NOT NULL DEFAULT 0,
   status tinyint(1) NOT NULL DEFAULT 0,
   create_time int(11) unsigned NOT NULL DEFAULT 0,
   update_time int(11) unsigned NOT NULL DEFAULT 0,
   PRIMARY KEY (id),
   KEY username(username),
   KEY bis_id(bis_id)
)ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;


#商户门店表
CREATE TABLE o2o_bis_location(
   id int(11) unsigned NOT NULL auto_increment,
   name VARCHAR(50) NOT NULL DEFAULT '',
   logo VARCHAR(255) NOT NULL DEFAULT '',
   address VARCHAR(255) NOT NULL DEFAULT '',
   tel VARCHAR(20) NOT NULL DEFAULT '',
   contact VARCHAR(20) NOT NULL DEFAULT '',
   xpoint VARCHAR(20) NOT NULL DEFAULT '',
   ypoint VARCHAR(20) NOT NULL DEFAULT '',
   bis_id int(11) unsigned NOT NULL DEFAULT 0,
   open_time int(11) unsigned NOT NULL DEFAULT 0,
   content text NOT NULL,
   is_main tinyint(1) unsigned NOT NULL DEFAULT 0,
   api_address VARCHAR(255) NOT NULL DEFAULT '',
   city_id int(11) unsigned NOT NULL DEFAULT 0,
   city_path varchar(50) NOT NULL DEFAULT '',
   category_id int(11) unsigned NOT NULL DEFAULT 0,
   category_path VARCHAR(50) NOT NULL DEFAULT '',
   bank_info varchar(50) NOT NULL DEFAULT '',
   listorder int(8) unsigned NOT NULL DEFAULT 0,
   status tinyint(1) NOT NULL DEFAULT 0,
   create_time int(11) unsigned NOT NULL DEFAULT 0,
   update_time int(11) unsigned NOT NULL DEFAULT 0,
   PRIMARY KEY (id),
   KEY name(name),
   KEY city_id(city_id),
   KEY bis_id(bis_id),
   KEY category_id(category_id)
)ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;


#团购商品表
CREATE TABLE o2o_deal(
  id int(11)

Niushop商城是全国首创集 【B2B2C多用户商城】 + 【微信微分销】 + 【电商平台招商运营 + iOS 、Android多平台客户端】 PHP开源电商系统。Niushop采用ThinkPHP5.0 + MySQL 开发语言,完全面向对象的技术架构设计开发。完全开源,适合企业及个人,包含 (B2B2C + 微信商城 + WAP + Android + IOS) 二次开发非常方便。 Niushop开源商城系统基础功能 (一)平台支持:PC端、WAP端、微信端 (二)商品列表: 商品列表 、商品发布、商品分类、商品品牌、商品分组、商品规格、商品属性、商品咨询管理、商品评价管理、商品销售排行、相册管理、商品列表 (三)订单列表:订单列表、运费模版管理、 物流公司、商家地址 (四)营销:优惠券、 积分管理、满减送、限时折扣、满额包邮 (五)会员列表: 粉丝列表、 会员列表、会员等级、会员提现、积分管理、余额管理 (六)设置:网站设置、支付配置、验证码设置、 通知系统、第三方登录、地区管理、 购物设置、会员提现设置 (七)文章:文章列表、文章分类、文章专题 (八)用户:用户列表、 用户组列表 (用户权限设置)、个人资料、用户密码修改 (九)资产:销售概况、商品分析、同行热卖、运营报告、销售排行 (十)微信端功能:首页顶部浮动块(一键关注按钮)、推广二维码、个人二维码、首页微信好友分享、商品详情好友分享、店铺二维码好友分享 Niushop开源商城系统功能特点: 1.完善的QQ,微信第三方支付、第三方用户登录机制 2.精细的微信模块处理 3.惰性加载 4.路由、自动加载的缓存机制 5.模型及关联MongoDB支持 6.数据库集群及数据缓冲 更新方法: 1.解压后将niushop_b2c文件夹内的所有内容覆盖对应文件 2.文件覆盖完毕,后台清除缓存 3.执行niushop_2.00_patch.sql 文件。 B2C2.1更新日志: 1. 优化 系统版本管理 2. 完善 赠品管理功能 3. 修正 系统模板消息部分没有发送的问题 4. 优化 商品增加与编辑页面流程 5. 新增 后台商品编辑规格支持批量修改价格库存功能 6. 优化 后台商品编辑验证 7. 解决 没有选择SKU的情况下,不显示规格预览 8. 解决 选择了商品分类后,规格列表没有清空 9. 解决 没有关联商品类型的时候,添加商品规格,规格值。生成不了规格列表的问题 10. 优化 后台商品分类列表,添加子分类时不刷新当前界面 11. 解决 开启手机端自定义模板后,其他节目没有底部菜单问题 12. 解决 后台编辑商品时,SKU没有清除,导致前台无法购买的问题 13. 解决 定位查询接口,省的默认值没有的问题 14. 优化 手机端会员中心界面 15. 解决 手机端商品详情底部版权信息被遮挡 16. 优化 隐藏后台商品列表,属性列表前边的复选框 17. 优化 为了保证商品交易的稳定性,后台编辑商品时,无法编辑实物类型 18. 解决 后台订单列表添加备注问题 19. 优化 后台新界面整体结构 20. 优化 满就送全部商品也支持送赠品功能 21. 优化 商品添加与编辑中商品类型对规格的关系. 22. 优化 商品添加与编辑是规格的显示与编辑 23. 新增 商品单位用于前台页面显示 24. 新增 商品预售功能 25. 优化 积分兑换流程,积分兑换设置4种类型 26. 增加 积分当钱花,积分支付可以兑换一定现金 27. 新增 图片上传添加水印功能 28. 优化 pc端与手机端创建订单界面 29. 新增 发票管理 30. 新增 后台用户操作日志 31. 优化 七牛云图片同步删除 32. 新增 首页增加常用菜单功能 33. 优化 订单流程计算更加稳定合理 34. 优化 营销商品调用弹框 35. 优化 商品视频上传增加外链 36、优化 后台数据列表的宽度比例 37、优化 PC端商品列表,左侧排行榜样式 38、优化 后台商品编辑规格,界面 39、解决 后台商品列表无法操作设置推荐的功能 40、解决 PC端地址定位,没有加载市县的问题 41、优化 后台弹出框对话框、消息提示框样式 42、移除 后台SQL执行与导入功能 43、优化 后台导航管理列表 44、优化 团购商品取消满减送 45、优化 订单支付返回上一个界面
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值