ThinkPHP安装,配置,基础

1.ThinkPHP安装

1.1安装composer

安装视频

1.2安装TP6
  1. 先打开网站根目录
    在这里插入图片描述

2在根目录下打开cmd改镜像
在这里插入图片描述

composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/   

3.安装

composer create-project topthink/think tp 6.0.*-dev

4.访问127.0.0.1:8000

2.ThinkPHP开发规范

2.1目录和文件
  • 目录使用小写+下划线;
  • 类库、函数文件统一以.php为后缀;
  • 类的文件名均以命名空间定义,并且命名空间的路径和+ 类库文件所在路径一致;
  • 类(包含接口和Trait)文件采用驼峰法命名(首字母大写),其它文件采用小写+下划线命名;
  • 类名(包括接口和Trait)和文件名保持一致,统一采用驼峰法命名(首字母大写);
2.2函数和类、属性命名
  • 类的命名采用驼峰法(首字母大写),例如 User、UserType;
  • 函数的命名使用小写字母和下划线(小写字母开头)的方式,例如 get_client_ip;
  • 方法的命名使用驼峰法(首字母小写),例如 getUserName;
  • 属性的命名使用驼峰法(首字母小写),例如 tableName、instance;
  • 特例:以双下划线__打头的函数或方法作为魔术方法,例如 __call 和 __autoload;
2.3常量和配置
  • 常量以大写字母和下划线命名,例如 APP_PATH;
    配置参数以小写字母和下划线命名,例如 url_route_on 和url_convert;
  • 环境变量定义使用大写字母和下划线命名,例如APP_DEBUG;
2.4数据表和字段
  • 数据表和字段采用小写加下划线方式命名,并注意字段名不要以下划线开头,例如 think_user 表和 user_name字段,不建议使用驼峰和中文作为数据表及字段命名。

3.ThinkPHP目录结构

  1. 单应用模式
    默认安装后的目录结构就是一个单应用模式
├─app           应用目录
│  ├─controller      控制器目录
│  ├─model           模型目录
│  ├─ ...            更多类库目录
│  │
│  ├─common.php         公共函数文件
│  └─event.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           视图配置
│
├─view            视图目录
├─route                 路由定义目录
│  ├─route.php          路由定义文件
│  └─ ...   
│
├─public                WEB目录(对外访问目录)
│  ├─index.php          入口文件
│  ├─router.php         快速测试文件
│  └─.htaccess          用于apache的重写
│
├─extend                扩展类库目录
├─runtime               应用的运行时目录(可写,可定制)
├─vendor                Composer类库目录
├─.example.env          环境变量示例文件
├─composer.json         composer 定义文件
├─LICENSE.txt           授权说明文件
├─README.md             README 文件
├─think                 命令行入口文件
  1. 多应用模式
    如果你需要一个多应用的项目架构,目录结构可以参考下面的结构进行调整
├─app           应用目录
│  ├─app_name           应用目录
│  │  ├─common.php      函数文件
│  │  ├─controller      控制器目录
│  │  ├─model           模型目录
│  │  ├─view            视图目录
│  │  ├─config          配置目录
│  │  ├─route           路由目录
│  │  └─ ...            更多类库目录
│  │
│  ├─common.php         公共函数文件
│  └─event.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           视图配置
│
├─public                WEB目录(对外访问目录)
│  ├─index.php          入口文件
│  ├─router.php         快速测试文件
│  └─.htaccess          用于apache的重写
│
├─extend                扩展类库目录
├─runtime               应用的运行时目录(可写,可定制)
├─vendor                Composer类库目录
├─.example.env          环境变量示例文件
├─composer.json         composer 定义文件
├─LICENSE.txt           授权说明文件
├─README.md             README 文件
├─think                 命令行入口文件

多应用模式部署后,记得删除app目录下的controller目录(系统根据该目录作为判断是否单应用的依据)。

在实际的部署中,请确保只有public目录可以对外访问。

在mac或者linux环境下面,注意需要设置runtime目录权限为777。

默认应用文件
默认安装后,app目录下会包含下面的文件。

│  │
│  ├─BaseController.php    默认基础控制器类
│  ├─ExceptionHandle.php   应用异常定义文件
│  ├─common.php            全局公共函数文件
│  ├─middleware.php        全局中间件定义文件
│  ├─provider.php          服务提供定义文件
│  ├─Request.php           应用请求对象
│  └─event.php             全局事件定义文件

BaseController.php、Request.php 和ExceptionHandle.php三个文件是系统默认提供的基础文件,位置你可以随意移动,但注意要同步调整类的命名空间。如果你不需要使用Request.php 和ExceptionHandle.php文件,或者要调整类名,记得必须同步调整provider.php文件中的容器对象绑定。

单应用部署和多应用部署的区别

4.ThinkPHP配置

  1. 配置目录
    单应用模式
    对于单应用模式来说,配置文件和目录很简单,根目录下的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           视图配置
│  └─ ...               更多配置文件
│

单应用模式的config目录下的所有配置文件系统都会自动读取,不需要手动加载。如果存在子目录,你可以通过Config类的load方法手动加载,例如:

\think\facade\Config::load('extra/config', 'extra');

2.多应用模式
在多应用模式下,配置分为全局配置和应用配置。

全局配置:config目录下面的文件就是项目的全局配置文件,对所有应用有效。
应用配置:每个应用可以有独立配置文件,相同的配置参数会覆盖全局配置。

│  ├─app1 (应用1)
│  │   └─config(应用配置)
│  │   	 ├─app.php            应用配置
│  │  	 ├─cache.php          缓存配置
│  │   	 ├─cookie.php         Cookie配置
│  │   	 ├─database.php       数据库配置
│  │  	 ├─lang.php           多语言配置
│  │  	 ├─log.php            日志配置
│  │     ├─route.php          URL和路由配置
│  │   	 ├─session.php        Session配置
│  │ 	 ├─view.php           视图及模板引擎配置
│  │   	 ├─trace.php          Trace配置
│  │ 	 └─ ...               更多配置文件
│  │ 
│  └─ app2... (更多应用)
│
├─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           视图配置
│  └─ ...               更多配置文件
│  

配置定义
可以直接在相应的全局或应用配置文件中修改或者增加配置参数,如果你要增加额外的配置文件,直接放入配置目录即可(文件名小写)。

除了一级配置外,配置参数名严格区分大小写,建议是使用小写定义配置参数的规范。

由于架构设计原因,下面的配置只能在环境变量中修改。

配置参数 描述
app_debug 应用调试模式
config_ext 配置文件后缀
环境变量定义
可以在应用的根目录下定义一个特殊的.env环境变量文件,用于在开发过程中模拟环境变量配置(该文件建议在服务器部署的时候忽略),.env文件中的配置参数定义格式采用ini方式,例如:

APP_DEBUG = true
默认安装后的根目录有一个.example.env环境变量示例文件,你可以直接改成.env文件后进行修改。

如果你的部署环境单独配置了环境变量( 环境变量的前缀使用PHP_),那么请删除.env配置文件,避免冲突。

环境变量配置的参数会全部转换为大写,值为 off,no 和 false 等效于 布尔值false,值为 yes 、on和 true 等效于 布尔值的true。

注意,环境变量不支持数组参数,如果需要使用数组参数可以,可以使用

[DATABASE]
USERNAME = root
PASSWORD = 123456
如果要设置一个没有键值的数组参数,可以使用

PATHINFO_PATH[] =  REDIRECT_PATH_INFO
PATHINFO_PATH[] =  REDIRECT_URL

获取环境变量的值可以使用下面的方式获取:

Env::get(‘database.username’);
Env::get(‘database.password’);
Env::get(‘PATHINFO_PATH’);
要使用Env类,必须先引入think\facade\Env。

环境变量的获取不区分大小写

可以支持默认值,例如:

// 获取环境变量 如果不存在则使用默认值root
Env::get(‘database.username’, ‘root’);
可以直接在配置文件中使用环境变量进行本地环境和服务器的自动配置,例如:

return [
‘hostname’ => Env::get(‘hostname’,‘127.0.0.1’),
];
多环境变量配置支持
V6.0.8+版本开始,可以支持定义多个环境变量配置文件,配置文件命名规范为

.env.example
.env.testing
.env.develop
然后,需要在入口文件中指定部署使用的环境变量名称:

// 执行HTTP应用并响应
$http = (new App())->setEnvName(‘develop’)->http;

$response = $http->run();

$response->send();

h t t p − > e n d ( http->end( http>end(response);
或者你可以继承App类 然后重载loadEnv方法实现 动态切换环境变量配置。

其它配置格式支持
默认的配置文件都是PHP数组方式,如果你需要使用其它格式的配置文件,你可以通过改变CONFIG_EXT环境变量的方式来更改配置类型。

在应用根目录的.env或者系统环境变量中设置

CONFIG_EXT=“.ini”
支持的配置类型包括.ini、.xml、.json 、.yaml和 .php 在内的格式支持,配置后全局或应用配置必须统一使用相同的配置类型。

配置获取
要使用Config类,首先需要在你的类文件中引入

use think\facade\Config;
然后就可以使用下面的方法读取某个配置参数的值:

读取一级配置的所有参数(每个配置文件都是独立的一级配置)

Config::get(‘app’);
Config::get(‘route’);
读取单个配置参数

Config::get(‘app.app_name’);
Config::get(‘route.url_domain_root’);
读取数组配置(理论上支持无限级配置参数读取)

Config::get(‘database.default.host’);
判断是否存在某个设置参数:

Config::has(‘template’);
Config::has(‘route.route_rule_merge’);
参数批量设置
Config类不再支持动态设置某个配置参数,但可以支持批量设置更新配置参数。

// 批量设置参数
Config::set([‘name1’ => ‘value1’, ‘name2’ => ‘value2’], ‘config’);
// 获取配置
Config::get(‘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 视图配置
具体的配置参数及默认值可以直接查看应用config目录下面的相关文件内容。

如果是多应用模式的话配置文件可能同时存在全局和应用配置文件两个同名文件

使用Yaconf定义
可以支持使用Yaconf统一定义配置,但不支持动态设置。

安装了yaconf扩展之后,项目里面的配置文件不再有效。而且不再区分全局和应用配置。

首先需要安装topthink/think-yaconf扩展,

composer require topthink/think-yaconf
然后在app目录下的provider.php文件中添加:

‘think\Config’ => ‘think\Yaconf’,
使用setYaconf方法指定Yaconf使用的独立配置文件,例如:

// 建议在应用的公共函数文件中进行设置
think\facade\Config::setYaconf(‘thinkphp’);
设置后,你只需要在thinkphp.ini一个文件里进行项目的配置,而无需分开多个文件,避免和其它项目冲突。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

安全天天学

你的鼓励是对我最大的鼓励

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值