thinkphp5.1 配置使用
1,安装
//先切换成阿里云镜像,速度会快。
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
//composer config --unset repos.packagist
安装完后可以取消切换的镜像的命令
//安装tp5.1的版本
composer create-project topthink/think=5.1.* tp5 --prefer-dist
2,在文件夹application\index\controller 中的Index.php文件是首页控制器
3,数据库操作:
如果要在控制器中直接调用数据库,需要到config文件夹下找到database.php 文件,填写数据库信息,之后在控制器如下调用数据库
1 2 3 4 5 6 7 8 9 10 11 12 | namespace app\index\controller; use think\Db; class Index { public function index() { $Db = new Db; $data=Db::query( 'select * from dz_lock where gid=?' ,[7]); print_r($data); } } |
4,使用模型
在application\index 文件夹下创建model文件夹,并新建文件Lock.php ,内容如下
namespace app\index\model; use think\Model; class Lock extends Model { protected $pk = 'id'; //主键 protected $table = 'dz_lock'; ///表名称 }
创建完成后修改控制器文件为如下代码进行调用模型
1 2 3 4 5 6 7 8 9 10 11 12 13 | namespace app\index\controller; use app\index\model\Lock; class Index { public function index() { $lk= new Lock(); $user=$lk-> where ( 'id' , '>' , 7)->find(); //只获取1条记录 //$user=$lk->where('id','>', 7)->select(); //获取所有符合条件的记录 print_r($user); } } |
5, 使用模板
如果使用视图来调用模板,需要继承Controller类,用如下方式进行调用
namespace app\index\controller; use app\index\model\Lock; use think\Controller; class Index extends Controller { public function index() { $lk=new Lock(); $user=$lk->where('id','>', 7)->select(); $this->assign("user",$data); return $this->fetch('index'); } }
并且需要在application\index\view\index 文件夹下创建index.html为模板
模板内容如下
1 2 3 | {volist name= "user" id= "vo" } <a href= "" >{$vo.lock_name}</a> {/volist} |
6,如果修改了config下面template.php 的模板路径view_path参数,需要按路径进行模板创建并使用。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | return [ // 模板引擎类型 支持 php think 支持扩展 'type' => 'Think' , // 默认模板渲染规则 1 解析为小写+下划线 2 全部转换小写 3 保持操作方法 'auto_rule' => 1, // 模板路径 'view_path' => '' , // 模板后缀 'view_suffix' => 'html' , // 模板文件名分隔符 'view_depr' => DIRECTORY_SEPARATOR, // 模板引擎普通标签开始标记 'tpl_begin' => '{' , // 模板引擎普通标签结束标记 'tpl_end' => '}' , // 标签库标签开始标记 'taglib_begin' => '{' , // 标签库标签结束标记 'taglib_end' => '}' , 'view_path' => '../template/' ]; |
7,图片上传功能,在控制器Index.php增加方法
public function upload(){ $file = request()->file('image'); if($file){ $info = $file->move( 'D:\Visual-NMP-x64\www\wp\tp5\public\uploads'); if($info){ echo $info->getSaveName(); }else{ echo $file->getError(); } } return $this->fetch('upload'); }
在模板文件中进行设置,注意标红部分。当前模板文件是\template\index\upload.html
<html lang="en"> <head> <meta charset="UTF-8"> <title> </title> </head> <body> <form action="/tp5/public/index.php/index/Index/upload" enctype="multipart/form-data" method="post"> <input type="file" name="image" /> <br> <input type="submit" value="上传" /> </form> </body> </html>
8,使用杂项, 如下操作,进入tp5的根目录,命令行下执行安装更新
1 | composer require topthink/think-captcha 2.*<br>composer require topthink/think-image |
正常安装后,在模板文件中可以直接调用验证码
1 | <img src= "{:captcha_src()}" alt= "captcha" /></div> |
在控制器中可以调用image类,这里的b.jpg在public目录中
namespace app\index\controller; use app\index\model\Lock; use think\Controller; use think\Image; class Index extends Controller { public function index() { $image = Image::open('b.jpg'); $width = $image->width(); echo $width; $lk=new Lock(); $user=$lk->where('id','>', 7)->select(); $this->assign("user",$data); return $this->fetch('index'); } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗