1,先配置环境,这里使用的服务器环境是 phpstudy服务器环境,选择要搭配的服务器
如何让电脑知道你运行的是哪一个php版本呢,可以在D:\phpStudy\PHPTutorial\php\php-7.2.1-nts 找到要使用的php版本,然后把这个路径配置为全局变量
配置好后,在cmd里面运行php命令,没有报错,说明配置成功
安装Composer ,但是这个插件是依靠php运行的,安装时候,需要制定用的哪一个php版本
链接:https://pan.baidu.com/s/1K86Mhe6vP9ECWGNfZfg0lA
提取码:51at
下载以后进行安装
安装好后,在cmd的黑屏里面运行Composer 命令,会看到下面情况,说明安装成功
phpstudy配置站点的时候一定要注意,如果选择的阿帕奇服务器,以下配置目录的分隔符是正确的
但是如果选择的Nginx服务器,配置的路径分隔符,一定要改成/符号
下面就是用phpstudy配置,运行tp5.1的站点环境
1,创建站点文件夹
2,配置站点
以上配置好以后,然后配置host文件
配置好以后,保存重启phpstudy,然后 浏览器访问配置的www.tp.com就可以访问tp5.1了
以上站点配置成功
使用composer安装迁移文件时候,会遇到安装延迟或者安装不上的问题,主要是外国网站太慢,可以先使用国内镜像,执行以下代码
composer config -g repo.packagist composer https://packagist.phpcomposer.com
注意:最近phpcomposer
镜像存在问题,也可以改成
composer config -g repo.packagist composer https://packagist.laravel-china.org
之后再执行安装迁移文件命令
composer require topthink/think-migration=1.*
在phpstorm开发环境里执行如下
安装成功以后,执行 php think
命令,会显示以下命令键
有以上的命令行,说明迁移文件安装成功
1,先要建设好需要使用的数据库,注意密码 账号
2,之后在tp框架里面配置连接数据库所需要的条件
index控制器里面的index方法如下
通过地址栏输入 模块/控制器/方法名 的输入 进行方法的调用 ,如下面的页面跳转
上面的跳转调用的news方法,是我们再index控制器里面自定义的news方法
我们一般一个控制器只做一个功能的实现,比如发布文章控制器,或者登陆控制器,或者注册控制器,或者发布产品控制器,tp给我们提供了生成控制器命令,使用如下来创建控制器
1,资源控制器 里面有建好的方法可以使用,普通的控制器,只是建了一个类,里面的方法需要我们自己去创建
如果访问每一个控制器的方法,要通过地址输入来实现,我们会记不住或者写起来繁琐,这就需要使用路由来解决
比如下面的两个图,怎么来实现呢?
如果要实现上面的效果,就可以通过路由来配置
资源控制器会自动生成很多方法,如果用普通路由配置,需要写很多,比较麻烦,这里就需要使用资源路由来配置资源控制器了!
1,先下载数据迁移工具 命令如下
composer require topthink/think-migration=1.*
2,下载完成后,查看有没有安装好
也可以执行 php think 命令,查看迁移文件
1,创建迁移文件
2,创建命令执行以后,会出现创建的迁移文件,在迁移文件的change方法里面执行创建表的方法
3,创建表
4,执行创建命令
之后,就在数据库中创建了一个user表
当我们执行完迁移创建命令以后,发现表里少了字段,我们就可以通过回滚命令进行重新创建
上面的方法就可以把前一个步骤创建的迁移表给撤销,然后下面对迁移文件更改,添加字段就可以了
之后再重新执行迁移文件就可以了
注意:迁移回滚是一步一步的往前回滚,
就是给数据表里面填充数据,一般前台用户,通过注册就可以往用户表里面添加数据,但是后台不是开放给用户的,是给使用者来用的,所以这里不能注册,只能通过填充数据的方式,往数据表里添加数据
上面的子文件继承父模板的路径 ./common/father 为什么不是…/common/father 呢?可以把index文件夹看成一个类,index.html看成一个方法
上面的是首页样式,下面是添加注册功能,每一个功能都使用一个控制器来实现,下面就是生成一个普通的注册控制器
生成如下
给注册加链接跳转
下面,根据控制器名 和方法名,创建文件夹名和模板名
之后跳转到登陆页面,通过表单把数据提交给post方法,来处理,如下
这就需要借助session来处理了,当我们确定登陆成功以后,就会在服务器session里面存入登陆的用户名和ID号,这样就可以跨页面查询session里面存放的数据
上面实现了登陆用户名的显示,如何实现退出呢? 方法如下
当我们一些数据需要在一段时间内使用,就可以使用缓存,而不是用到时再到数据库去拿,这样容易增加服务器压力
$request->post()
和$request->param()
但是$request->post()
只能接受post提交的表单,$request->param()
可以获得任何形式提交的表单①添加文章的实现
② 获取文章数据
③对文章列表的编辑
第二种通过模型类来保存修改的文章数据
第三种修改数据保存的方法(只允许指定的字段进行修改,tp提供了一个方法)
一般登陆页面都需要给与验证码,防止攻击,那么如何使用验证码功能呢?
上面实现了基本的验证码的功能,那如何自定义验证码的一些属性呢?比如显示汉字,显示几个字符,方法如下
验证码已经实现,但是如果登陆,如何判断验证码输入的对错?
一般,数据库里面有两张表,一张是用户表,一张是文章表,如何关联呢? 一个用户有多个文章,所以这是一对多的表关联,