Mysql数据库Mac安装
https://www.cnblogs.com/yanlin-10/p/9388911.html
Tp5安装
- 方式一:http://www.thinkphp.cn/donate/download/id/874.html 直接下载
- 方式二:composer(php依赖管理工具)安装
1.创建项目名称
2.cd 项目根目录
3.终端
composer create-project topthink/think imooc_o2o
//指定think5版本创建命令
composer create-project --prefer-dist topthink/think imooc_o2o_5.0.3 "5.0.3"
项目目录结构解剖
-
1.application 应用目录
-
- 1.1 index 模块目录例如admin
-
-
- 1.1.1 controller 控制器
-
-
-
- 1.1.2 model目录和view视图目录需要自己建立
-
-
- 1.2 command 命令行工具配置文件
-
- 1.3 common 应用公共函数文件
-
- 1.4 config 应用公共配置文件
-
- 1.5 database 数据库相关配置文件
-
- 1.6 route 路由相关配置文件
-
- 1.7 tags 应用行为扩展定义文件
-
2.extend 扩展类库目录
-
3.public 外部部署目录-虚拟域名需要绑定public目录,因为里面包含项目入口文件
-
- 3.1 static 外部资源目录,如css,js,image
-
- 3.2 index 项目入口文件
-
- 3.3 router 快速测试文件
-
4.runtime 运行时生成的相关文件
-
5.thinkphp 框架核心类库目录
-
6.vendor 第三方类库目录,通过composer管理工具安装默认放置在此文件夹下
-
7.bulid 自动生成配置文件
-
8.think 命令行入口文件
前端显示具体错误信息提示
需要在config/app.php
文件中把app_debug
和show_error_msg
改为true
TP5神器-webserver
- 1.启动命令:
php -S localhost:8181 router.php
为项目分配一个端口 -
- 1.1 cd 项目中的public文件目录下,存在router.php文件
-
- 1.2 添加sudo 执行上面命令
-
- 1.3 默认找到application/index/controller/index.php中的index方法
-
- 1.4 index方法中return的是一个html,如果返回其他形式的内容,需要在config.php 当中 default_return_type 做配置,如改为json
- 2.nohup的使用
如果终端挂了,那么上面配置将失效,此时使用nohub不挂断运行命令,放入后台执行
终端命令:
nohup php -S localhost:8181 router.php &
执行 ps aux | grep 8181
可查看进程
- 3.运行TP5程序
-
- 巧用命令:
php think make:controller index/Test
cd 根目录
使用php think make:controller index/Test
命令创建文件夹
- 巧用命令:
虚拟域名配置
- 1.手动方式配置(o2o.singwa.com)
-
- 1.1 配置hosts文件-分配域名o2o.singwa.com
使用命令:sudo vi /etc/hosts
- 1.1 配置hosts文件-分配域名o2o.singwa.com
-
- 1.2 配置httpd.conf文件
-
-
- 1.2.1 使用命令
cd /mamp/conf/apache/
(未找到)
使用命令:vi httpd.conf
- 1.2.1 使用命令
-
配置虚拟域名访问形式
-
- 1.3 配置
httpd-vhosts.conf
文件
cd extra/ 找到 httpd-vhosts.conf 文件,vi httpd-vhosts.conf
编辑
- 1.3 配置
-
- 1.4 重启apache服务器
Windows系统虚拟域名配置,参考
www.imooc.com/article/16798
- 2.可视化工具配置(mamp基于mac/phpstudy基于windows等)
- 3.运行TP5程序
Mac MAMP + Navicat数据库连接注意事项
Tp5 自动化模块搭建
利用build.php文件自动化生成想要的模块
在项目根目录 vi build.php
dir 表示目录文件 ,需要把build.php移到application文件内
cp build.php application/
运行命令:
php think build
前端模块页面搭建
-
1.如何将静态模板放入tp5中
在根目录的public 中的 static文件中新建index文件,然后将前端代码copy其中
-
2.模板中文件如何引入
- 3.前端抽离公共文件header和footer,并导入
登录注册页面前端模板导入
后台模块页面搭建
开源的后台模板文件
第三方开源框架H-ui.admin,官网地址:www.h-ui.net/H-ui.admin.shtml
导入到文件中
查看地址:http://o2o.singwa.com:8888/index?s=admin
添加分类
导入公共文件
表单提交
Tp5-validate在实际项目中的应用
- 利用model-save做分类数据保存
- TP5配置-连接数据库库
- model-save保存数据使用
调用$this->save()
方法为数据库增加
优化:
- 第二种优化方案:
数据库查询方式
在model中定义获取一级分类方式,并根据id添加排序,进行数据库查询
然后在controller中调用,并给页面传值
注意:给页面传值是写在第二个参数当中,数组类型,第一个参数字符串,是fetch方法的模板
前端页面接收值并显示
优化方案
注意:tp5.1 初始化方法initialize (不是_initialize,多了一划线),否则报错
利用TP5分页机制处理列表页
然后在controller中调用
然后查看调用是否正确
Top5.1需要把多条件查询分开写
然后将查询到的数据传递给前端页面
因为status有三种状态,所以我们需要自己编写status方法(在application下的common.php文件中),根据状态值加载不同样式的class
Top5.1需要在前端html添加
|raw
添加获取子栏目
将parent_id/3.html
变成 .html?parent_id=3
TP5分页的使用
将select变成paginate(数据量)
前端页面分页
编写公共css
添加公共css文件并引入
编辑功能开发
查询数据库-》填充模板-》修改数据提交-》update
- VIEW
- Controller
- VIEW
排序功能开发
Ajax异步方式处理
- VIEW
View的JS
因为排序功能在很多页面都需要用到,所以创建公共文件,高度复用
在public/static/admin/js
目录下的common.js
中创建公共的方法
获取listorder input 输入框 失去焦点时,触发方法,ajax的post,提交数据到后台
Controller
因为前端的ajax方法,所以需要返回前端可识别的html,result是tp5自带的方法
Save方法是tp5的model自带的方法,我们在处理稍微复杂的逻辑时,可以在model层自定义方法,如果处理简单的逻辑,就可以直接调用tp5model自带的方法
在model层获取数据时,添加排序方式
修改状态
model save(状态的数组值,条件)
View
View JS
问题:status为-1时,验证number竟然过不去。。。。。
先把验证去掉。。