官方手册:ghttps://doc.thinkphp.cn/v8_0/setup.html
ghttps://doc.thinkphp.cn/v8_0/setup.html
一、部署ThinkPHP
1.安装composer
composer是 PHP 的一个依赖管理工具,类似于python中的pip。
下载地址:
https://getcomposer.org/Composer-Setup.exe
2.安装成功后,我们可以通过命令窗口(cmd) 输入 composer --version 命令来查看是否安装成功:
3.安装成功后,接下来我们可以更改阿里云 Composer 全量镜像,加快后续包的安装:
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
取消更改配置:
composer config -g --unset repos.packagist
5.在命令行下面,切换到WEB根目录下面并执行下面的命令:
composer create-project topthink/think tp
这里的tp
目录名你可以任意更改,这个目录就是我们后面会经常提到的应用根目录。
如果之前已经安装过,那么切换到的应用根目录下面,然后执行下面的命令进行更新:
composer update topthink/framework
6.修改apache/conf/httpd.conf文件的DocumentRoot和Directory指向刚刚创建的thinkphp文件夹的public目录下。
二、报错解决
安装完ThinkPHP后,可开启报错信息提示,便于调试使用。
在config文件的app.php开启显示错误信息,'show_error_msg' => true。
可以会遇到的报错内容:Driver [Think] not supported.
原因:未安装thinkview模板引擎,解决方式,使用cmd窗口,将目录切换到ThinkPHP文件根目录下,使用composer安装thinkview引擎模板:
d:
cd /xampp/htdocs/tp
composer require topthink/think-view
三、配置数据库及基本使用
在config下的databases.php文件中配置数据库服务器地址、数据库名、用户名、密码等信息
在app文件夹下,创建model文件夹,文件夹下创建user.php,示例代码如下:
<?phpnamespace app\model;
use think\Model;class User extends Model{//指定主键名称protected $pk = 'id';//指定数据库protected $name = 'user';
}
在app/conreoller文件夹下面创User.php控制器,实例化模型并调用数据查询。
<?php
namespace app\controller;
use app\BaseController;
class User extends BaseController{public function index(){return view('../view/login.html');}public function login(){$username = request()->post('username');$password = request()->post('password');// if($username =='admin' && $password == '123456'){// return 'login_success';// }else{// return 'login_fail';// }$user = new \app\model\User();$result = $user->where(['username' => $username,'password' => $password])->select();#return print_r($result);if (count($result) == 1){return 'login_success';}else{return 'login_fail';}}}
四、使用thinkphp渲染HTML
在view文件下创建一个HTML模板,示例代码如下:
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>score_list</title>
</head>
<style>table{width: 800px;border: 1px solid black;margin: auto;border-spacing: 0px;}td{border: 1px solid black;}
</style>
<body><table><tr><td>sid:</td><td>class:</td><td>name:</td><td>score</td></tr>{volist name = "score_list" id = 'score_row'}<tr><td>{$score_row.sid}</td><td>{$score_row.class}</td><td>{$score_row.name}</td><td>{$score_row.score}</td></tr>{/volist}</table>
</body>
</html>
在app/model创建一个数据库模板,其中包含一个查询数据的方法 :
<?phpnamespace app\model;
use think\Model;class score extends Model{//指定主键名称protected $pk = 'sid';//指定数据库protected $name = 'score';public function get_score(){$result = $this -> field('sid,class,name,score')->where('sid','<=','5')->select();return $result;}
}
在app/controller下创建一个score.php。
<?php
namespace app\controller;
use app\BaseController;class score extends BaseController{public function index(){$score = new \app\model\score();$reslut = $score->get_score();//#result的值为二维数组形式。score_list在score_list.html页面中渲染使用return view('../view/score_list.html',['score_list' => $reslut] );}
}
每篇一言:凡心所向,素履可往,生如逆旅,一苇以航。