PHP-Tpthink5学习记录1(后台管理平台)

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_debugshow_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程序
    1. 巧用命令: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.2 配置httpd.conf文件
      • 1.2.1 使用命令 cd /mamp/conf/apache/ (未找到)
        使用命令: vi httpd.conf

配置虚拟域名访问形式
在这里插入图片描述

    • 1.3 配置httpd-vhosts.conf文件
      cd extra/ 找到 httpd-vhosts.conf 文件,vi httpd-vhosts.conf 编辑
      在这里插入图片描述
    • 1.4 重启apache服务器

Windows系统虚拟域名配置,参考

www.imooc.com/article/16798

  • 2.可视化工具配置(mamp基于mac/phpstudy基于windows等)
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

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竟然过不去。。。。。

先把验证去掉。。

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/wtdask/article/details/101516916
今日推荐