ThinkPHP5 简单介绍积累
ThinkPHP5 对路由、日志、异常、数据库、模版引擎、验证等做了一些修改。
1.开发环境
PHP 5.4 上 PDO、Mbstring 、CURL、PHP Extension 扩展
mysql >5.5
apache nginx (内置服务)
2.安装 git https://github.com/top-think 之所以设计为应用和核心仓库分离,是为了支持Composer单独更新核心框架。
(1) 克隆 git clone --depth=1 git@github.com:top-think/think.git think-git //最新版本 https://github.com/top-think/think.git //web/
git clone --depth=1 git@github.com:top-think/framework.git thinkphp //https://github.com/top-think/framework.git //web/framework/(核心包)
(2) composer --version 版本
composer create-project --prefer-dist topthink/think think_composer
(3) 官网下载 完整版
(4) git 下载
3.调整 根目录 document_root = /public
4.目录结构和规范
tp5 ├─application 应用目录
├─extend 扩展类库目录(可定义)
├─public 网站对外访问目录
├─runtime 运行时目录(可定义)
├─vendor 第三方类库目录(Composer)
├─thinkphp 框架核心目录
├─build.php 自动生成定义文件(参考)
├─composer.json Composer定义文件
├─LICENSE.txt 授权说明文件
├─README.md README 文件
├─think 命令行工具入口
目录名 小写+下划线
类库函数名 文件名 以 .php结尾
类的文件名均以命名空间定义,且命名空间和类库文件所在路径一致。
类文件采用驼峰 首字母大写 其他用小写+下划线命名
app 同级 创建文件夹conf
conf/config.php 修改惯例配置 、应用配置、
conf/extra/email.php 扩展配置 级别最大 dump(config());
场景配置 根据办公地点不同 或其他 可以更改配置文件 只需根据需要修改conf/config.php 中 app_status值 就可以修改相对应的配置
conf/config.php
<?php
return[
'app_status' => 'office'//home
];
?>
conf/office.php
<?php
return [
'app_address' => 'office',
'database' => [
// 数据库类型
'type' => 'mysql',
// 服务器地址
'hostname' => '127.0.0.1',
// 数据库名
'database' => 'thinkphp',
// 用户名
'username' => 'root',
];
?>
conf/home.php
<?php
return [
'app_address' => 'home',
'database' => [
// 数据库类型
'type' => 'mysql',
// 服务器地址
'hostname' => '127.0.0.1',
// 数据库名
'database' => 'thinkphp',
// 用户名
'username' => 'root',
];
?>
模块配置
conf/index/config.php
conf/admin/config.php
动态配置
config('indexAction','index');//只在当前配置的位置有效
//惯例配置 thinkphp/convention.php
Config类和config 方法
thinkphp\library\think\config.php
设定配置参数的作用域
解析配置文件或内容 parse
加载配置文件(PHP格式) load
检测配置是否存在 has
获取配置参数 为空则获取所有配置 get
设置配置参数 name为数组则为批量设置 set
重置配置参数 reset
think\config;
config::set('key','value','作用域');
config::get('key','作用域');
config('key');
环境变量的配置和使用
.env(文件名) -- app 同级
think\Env;
$_ENV; //前缀PHP_
Env::get('key','默认值');