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 文件,填写数据库信息,之后在控制器如下调用数据库
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'; ///表名称 }
创建完成后修改控制器文件为如下代码进行调用模型
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为模板
模板内容如下
{volist name="user" id="vo"} <a href="">{$vo.lock_name}</a> {/volist}
6,如果修改了config下面template.php 的模板路径view_path参数,需要按路径进行模板创建并使用。
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的根目录,命令行下执行安装更新
composer require topthink/think-captcha 2.*
composer require topthink/think-image
正常安装后,在模板文件中可以直接调用验证码
<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'); } }