仿乐优商城后端thinkphp5.1开发文档
目录
文章目录
内容
一、前端与API接口
详细文档:仿乐优电商前端后台管理接口API文档.md
二、数据库设计
详细文档:仿乐优电商数据库设计.md
三、thinkphp5.1
1、配置
1.1、全局配置
1.2、模块配置
key | value | 描述 |
---|---|---|
file_storage_path | http://api.leyou.com/uploads/ | 网站文件存储路径 |
- 配置文件路径: api/config/app.php
2、路由分组
- 路由名称:与前端应用相对应
- url地址:
- 路由规则:模块+控制器+方法
名称 | url地址 | 路由 |
---|---|---|
应用根 | /api | /api |
菜单 | /menu | |
菜单列表 | /list | /api/Menu/read |
图片上传 | /upload | /api/Brand/uploadImage |
商品目录 | /item | /item |
分类 | /categories |
- 路由router.php源代码@1-1:
<?php
// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006~2018 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: liu21st <[email protected]>
// +----------------------------------------------------------------------
# 引入Router类
use think\facade\Route;
//路由规则
// 第一个参数:url地址
// 第二个参数:模块/控制器/方法
// 分组路由
// 接口路由
Route::group('api', function () {
// 菜单路由
Route::get('menu/list', 'api/Menu/findAll');
// 图片上传路由
Route::post('upload/image', 'api/Brand/uploadImage');
// 商品路由
Route::group('item', function () {
Route::get('category/list', 'api/Category/findAll');
Route::get('brand/page', 'api/Brand/page');
Route::post('brand', 'api/Brand/addBrand');
Route::get('brand/categories/:bid', 'api/Brand/findCategoriesByBid');
Route::put('brand/editBrand', 'api/Brand/editBrand');
});
});
3、功能实现
3.1、导航菜单
前端图示@2-1:
3.1.1、规划
- 控制器创建:php think make:controller api/Menu
- 模型创建: php think make:model api/Menum
- 功能:
- 菜单列表
- 如上所示路由: Route::get(‘menu/list’, ‘api/Menu/findAll’);
- 菜单列表
3.1.2、控制器Menu.php
- 源代码@2.2.-1:
<?php
namespace app\api\controller;
use think\Controller;
use think\Request;
use app\api\model\Menum;
class Menu extends Controller
{
// 获取菜单列表
public function findAll()
{
$menuList = Menum::where('pid', 0)
->select();
foreach ($menuList as $key => $menu) {
if (strlen($menu['sid']) != 0) {
$menus = Menum::where('pid', $menu['id'])
->select();
$menu['items'] = $menus;
}
}
return json($menuList);
// return
}
}
3.1.3、模型Menum.php
- 源代码@2.3-1:
<?php
namespace app\api\model;
use think\Model;
class Menum extends Model
{
//定义主键
protected $pk = 'id';
// 定义表名
protected $table = 'tb_menu';
}
四、后记
本项目为参考某马视频thinkphp5.1-乐优商城前后端项目开发,相关视频及配套资料可自行度娘或者联系本人。上面为自己编写的开发文档,持续更新。欢迎交流,本人QQ:806797785
前端项目源代码地址:https://gitee.com/gaogzhen/vue-leyou
后端thinkphp源代码地址:https://gitee.com/gaogzhen/leyou-backend-thinkphp