ThinkPHP6 安装
ThinkPHP6.0 的环境要求如下:
PHP >= 7.1.0
Thinkphp6 开始,必须通过 Composer 方式安装和更新
安装 Composer
下载并运行(Window 环境) Composer-Setup.exe
安装 Thinkphp6
先切换到你的 php 环境根目录
d:
cd phpstudy_pro/WWW
在执行下载Thinkphp6命令(ouyangke 为下载Thinkphp6的目录)composer create-project topthink/think
安装出现错误:查看composer目前安装环境(主要是查看下载源,然后恢复官方源)composer config -g -l repo.packagist
composer config -g --unset repos.packagist
配置、运行 Thinkphp6
第一步:打开 phpstudy 集成软件 -> 站点域名管理
第二步:网站域名:www.admin.com
第三步:网站目录:admin/public
第四步:直接在浏览器上输入域名: www.admin.com
文件
├─app 应用目录│ ├─controller 控制器目录│ ├─model 模型目录│ ├─view 视图目录│ ├─ ... 更多类库目录│ ││ ├─AppService.php 应用服务类│ ├─BaseController.php 默认基础控制器类│ ├─common.php 全局公共函数文件│ ├─event.php 全局事件定义文件│ ├─ExceptionHandle.php 应用异常定义文件│ ├─middleware.php 全局中间件定义文件│ ├─provider.php 服务提供定义文件│ ├─Request.php 应用请求对象│ └─service.php 系统服务定义文件│├─config 配置目录│ ├─app.php 应用配置│ ├─cache.php 缓存配置│ ├─console.php 控制台配置│ ├─cookie.php Cookie配置│ ├─database.php 数据库配置│ ├─filesystem.php 文件磁盘配置│ ├─lang.php 多语言配置│ ├─log.php 日志配置│ ├─middleware.php 中间件配置│ ├─route.php URL和路由配置│ ├─session.php Session配置│ ├─trace.php Trace配置│ └─view.php 视图配置│├─extend 扩展类库目录├─public WEB目录(对外访问目录)│ ├─index.php 入口文件│ ├─router.php 快速测试文件│ └─.htaccess 用于apache的重写│├─route 路由定义目录│ ├─route.php 路由定义文件│ └─ ...│├─runtime 应用的运行时目录(可写,可定制)├─vendor Composer类库目录├─view 视图目录├─.example.env 环境变量示例文件├─composer.json composer 定义文件├─LICENSE.txt 授权说明文件├─README.md README 文件├─think 命令行入口文件
5.视图
视图功能由 \think\View
类配合视图驱动(也即模板引擎驱动)类一起完成
6.安装视图
cd phpstudy_pro/WWW/admin
composer require topthink/think-view
7.Apache 隐藏入口文件
httpd.conf 配置文件中加载了 mod_rewrite.so 模块
AllowOverride None 将 None 改为 All
把下面的内容保存为 .htaccess 文件放到应用入口文件的同级目录下
<IfModule mod_rewrite.c>
Options +FollowSymlinks -Multiviews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.)$ index.php/$1 [QSA,PT,L]
// RewriteRule ^(.)$ index.php?/$1 [QSA,PT,L]
// RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1]
</IfModule>
Nginx 隐藏入口文件
把下面的内容保存为 nginx.htaccess 文件放到应用入口文件的同级目录下
location / {
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=/$1 last;
}
}
序号 | (动态)系统类库 | 容器绑定标识 | (门面)Facade | 类助手函数 |
---|---|---|---|---|
1 | think\App | app | think\facade\App | app |
2 | think\Cache | cache | think\facade\Cache | cache |
3 | think\Config | config | think\facade\Config | config |
4 | think\Cookie | cookie | think\facade\Cookie | cookie |
5 | think\Console | console | ||
6 | think\Db | db | think\facade\Db | |
7 | think\Debug | debug | ||
8 | think\Env | env | think\facade\Env | env |
9 | think\Event | event | think\facade\Event | event |
10 | think\Http | http | ||
11 | think\Lang | lang | think\facade\Lang | lang |
12 | think\Log | log | think\facade\Log | |
13 | think\Middleware | middleware | think\facade\Middleware | |
14 | think\Request | request | think\facade\Request | request |
15 | think\Response | response | response | |
16 | think\Filesystem | filesystem | think\facade\Filesystem | |
17 | think\Route | route | think\facade\Route | |
18 | think\Session | session | think\facade\Session | session |
19 | think\Validate | validate | think\facade\Validate | validate |
20 | think\View | view | think\facade\View |
配置数据库
在config下面的database数据库配置表中配置
数据库查询操作
find 方法查询单条数据,结果返回一维数组,数据不存在,返回 null
语法:Db::table(”boke”)->find(8),第一个是table传值是表名,然后链式调用find传入想要查询的id
select 方法查询多条数据,结果返回对象,数据不存在,返回空对象
语法:Db::table(”boke”)->select(),查询数据表中全部数据
value 查询某个字段的值,结果返回文本,数据不存在,返回 null
语法:Db::table(‘boke’)->value(“img”),查询某个字段的值,只查询一条
column 查询某一列的值,结果返回一维数组,数据不存在,返回空数组
语法:Db::table(”boke”)->column(“img”,”title”),查询某一列的值,结果返回一维数组
2.添加语句
insert 1、添加一条数据,成功返回条数
语法:Db::table(‘boke’)->insert($data),添加一条数据,成功返回条数
insertGetId 添加一条数据,成功返回自增主键
语法:Db::table(‘boke’)->insertGetId($data),添加一条数据,成功返回自增主键
insertAll 添加多条数据,成功返回条数
语法:Db::table(‘boke’)->insertAll($data),添加多条数据,成功返回条数
3.修改语句
update 修改数据,成功返回条数
语法:Db::table(‘boke’)->where(“title”,’修改后的标题’)->update($data),修改数据,成功返回条数
inc 自增字段的值
语法:Db::table(‘boke’)->where(“id”,1)->inc(‘num’)->update(),自增字段的值,可以用来统计浏览量
dec 自减字段的值
语法:Db::table(‘boke’)->where(“id”,1)->dec(‘num’)->update(),自减字段值,取消关注之类的
4.删除
delete 删除数据,成功返回条数,没有删除返回 0
语法:Db::table(‘boke’)->where(“id”,18)->delete(),删除数据,成功返回条数,没有删除返回 0
useSoftDelete 软删除,不建议真实删除数据,TP 系统提供了软删除机制
语法:Db::table(‘boke’)->where(“id”,17)->useSoftDelete(‘status’,9)->delete(),软删除,不建议真实删除数据,TP 系统提供了软删除机制