1、ThinkPHP5.0简介

composer包管理工具

ThinkPHP3.0不兼容

php环境: 测试 开发 线上
url路由
请求响应
模板视图

MVC 一种设计典范 分离
model 模型 数据
view 视图 界面显示
controller 控制器 业务逻辑

2、环境安装

php > 5.4.0 =5.6.10
php extension: pdo mbstring curl
mysql
apache nginx

集成开发环境
mac MAMP

方式一、github安装

# 只克隆最新代码不克隆历史
cd www
git clone --depth=1 https://github.com/top-think/think.git think_php
cd think_php
git clone --depth=1 https://github.com/top-think/framework thinkphp

方式二、composer安装

中文官网:docs.phpcomposer.com

cd www
composer --version
composer create-project --prefer-dist topthink/think think_composer

方式三、thinkphp下载

http://www.thinkphp.cn/
下载完整版,解压

方式四、github压缩包下载

think.zip -> think_php
framework.zip -> thinkphp
修改名称

成功标志:浏览器进入publish目录又显示

目录介绍

在没有安装php-fpm的时候启动

php -S localhost:8888 router.php

模块化设计
application: 应用目录; 整个应用所有的内容都写在这个目录当中

命名规范
类 ,属性,方法,常量,函数,变量,数据库

3、访问路径

模块-控制器-方法

通用的控制可以写在common中,它不允许url直接访问

编写公共模块


namespace app\common\controller;class User
{public function showName($name=""){return "$name";}}

使用公共模块的函数

namespace app\admin\controller;use app\common\controller\User as commonUser;class Index extends commonUser
{public function index(){return $this->showName("admin name");}
}

访问
http://127.0.0.1:8009/admin/index/index

4、配置

(1)惯例配置

惯例配置: thinkphp/convention.php
可用config()函数查看

 public function config(){return dump(config());}

(2)应用配置

修改application -> app

public/index.php定义配置文件路径

// 定义配置目录
define('CONF_PATH', __DIR__ . '/../conf/');

app同级目录配置文件
conf/config.php

return ["user"  => "Peng shiyu","email" => "123456@qq.com"
];

应用配置覆盖惯例配置原理
array_merge($arr1,$arr2),相同的键后面数组的值会覆盖前面的值

(3)扩展配置

conf/extra/email.php

return ['user' => 'xx@163.com','password' => '123456'
];

数据库配置两者都可以
conf/extra/database.php
conf/database.php

(4)场景配置

办公和家里可以切换配置
conf/config.php

return ['app_status' => 'home'
];

conf/home.php

return ['address' => 'home'
];

conf/office.php

return ['address' => 'office'
];

配置文件执行顺序
conf/extra/database.php > conf/database.php > thinkphp/convention.php

(5)模块配置

目录决定了配置作用域
conf/index/config.php
conf/index/extra/email.php

conf/admin/config.php
conf/admin/extra/email.php

(6)动态配置

设置config(key, value)
1、构造函数__construct()中设置整个类生效
2、当前方法配置,当前方法生效

namespace app\index\controller;class Index
{public function __construct(){config('key', 'value');}public function index(){return dump(config());}public function config(){config('key', 'value');return dump(config());}

(7)Config类和config助手函数

thinkphp/library/think/Config.php

// 获取全部
config() 等价于  Config::get()// 获取单个
config("key") 等价于  Config::get("key")// 设置
config("key", "value") 等价于  Config::set("key", "value")// 注意作用域
设置 config("key", "value", "index")
获取 config("key", "index") // 检查存在
bool = Config::has("key") // 不存在和null都是false
config("?key")

5、环境变量配置

.env配置

key=value[databse]
hostname=localhostdatabase_hostname=localhost

获取方式一:

$_ENV['PHP_KEY']

获取方式二:

use think\Env;Env::get('key', 'default');
Env::get('database_hostname', 'default');
Env::get('database.hostname', 'default');

环境配置和场景配置

.env

app_status=dev

config.php

use think\Env;return ['app_status'=> Env::get('app_status', 'dev')
];

dev.php

return ['app_now_status'=> 'dev'
];

test.php

return ['app_now_status'=> 'test'
];

问题

打印环境变量空白 dump($_ENV);

查看环境变量:dump(phpInfo()); 查找php.ini 文件

修改php.ini

variables_order = "GPCS"
修改为: variables_order = "EGPCS"

或者

;Default Value: "EGPCS"
改为
Default Value: "EGPCS"

关闭:killall php-fpm
启动:php-fpm
指定ini文件启动 php-fpm -c /private/etc/php.ini

6、入口文件

单入口文件
-安全检测
-请求过滤

(1)入口文件绑定

3位
public/index.php

// 自定义绑定 模块/控制器
define('BIND_MODULE', 'admin/index');

访问:http://127.0.0.1:8009/
-> admin index index

conf/config.php

// 开启自动绑定模块
'auto_bind_module'=>true

访问:http://127.0.0.1:8009/api.php
-> api index index

(2)路由设置

conf/config.php

'url_route_must'         => false,
'url_route_on'           => true,

conf/route.php

return ['post/:id' => 'index/index/info'
];

app/index/controller/Index.php

class Index
{public function index(){return 'index index index';}public function info($id){echo url('index/index/info', ['id'=>$id]);return "api index info $id";}
}

访问:http://127.0.0.1:8009/post/5
返回:/post/5.htmlapi index info 5

PHP:ThinkPHP5.0下载安装和各种配置相关推荐

  1. JDK1.6.0下载安装与环境配置

    学习Java开发的第一步是构建开发环境,以JDK6.0为例讲述. 第一步:从sun网站下载JDK1.6.0-17. 第二步:安装JDK.将其安装到D:\Programe Files\Java文件夹下即 ...

  2. 详解Maven下载安装及IDEA配置Maven (2023最新)

    文章目录 一.Maven介绍 二.下载Maven 三.配置Maven环境 四.在Idea上配置Maven工具 一.Maven介绍 1.Maven翻译为"专家", "内行& ...

  3. Windows10下载安装openjdk11及配置环境变量

    Windows10下载安装openjdk11及配置环境变量 下载JDK 首先我们需要下载java开发工具包JDK,下载地址:https://cn.azul.com/downloads/zulu-com ...

  4. 最新版Git 2.32.0下载安装教程

    官网下载 Git https://git-scm.com/download/win CSDN:最新版Git(2.32.0)下载安装教程,简单明了 附带idea配置 (转载) https://blog. ...

  5. Android 7.0下载安装APK

    Android 7.0下载安装APK 这里只说安装,不说下载.因为下载网上一搜一大堆,暂且说下一下Android7.0 下载安装APK时的兼容性问题. 简介 随着Android版本越来越高,Andro ...

  6. mysql8.0怎么打开_MySQL8.0 下载安装启动(Windows10)

    2019年6月13日20:13:21 MySQL8.0 下载安装启动(Windows10) 下载 现在的版本是:MySQL Community Server 8.0.16 解压 解压到安装目录,比如F ...

  7. Linux下载安装与网络配置

    本篇文章介绍的是Linux下载安装与网络配置,如有错误或不当之处,还望各位大神批评指教. 一.Linux下载 Linux有很多不同的发行版本,本篇文章介绍的是centos 6.5 64位的下载,地址为 ...

  8. python 3.4.3 下载安装与环境配置 pip

    python 3.4.3 下载安装与环境配置 2017年07月05日 10:57:53 2245人阅读  评论(0)  收藏  举报   分类: [Python](30)  版权声明:本文为博主原创文 ...

  9. python官网安装步骤-新手Windows下Python下载安装教程及配置注意事项

    新手如何下载安装Python以及配置环境变量呢?初学者选择Python2还是Python3呢?Windows下安装简单,初学者建议直接选择Python3- 首先分享Python下载方式 到Python ...

最新文章

  1. hivemetastore java,hive启动报错 hive.metastore.HiveMetaStoreClient
  2. linux自动锁屏命令_如何冻结和锁定你的Linux系统?
  3. linux编译ace tao,CentOS环境下ACE编译指南
  4. 分类算法----逻辑回归预测
  5. java脚本计算器按钮无反应_2020年3月份最新计算机语言排行,20种语言争锋相对Java依旧飘逸...
  6. Thrift框架简介
  7. 干货——常用医药数据库
  8. android krc歌词解析,10行代码解析krc歌词文件
  9. 0063-【测序行业】-国内首个基于NGS技术的癌症多基因检测试剂盒获CFDA准产批件
  10. 【pytorch】|tensor grad
  11. wps透视表列总计移到顶部_数据透视表总计中的错误
  12. hasnext() java_关于Java:为什么HasNeXT()false,但hasNextLine() 是真的?
  13. ecshop2.5软件的文件架构{转}
  14. windows快捷键补充?
  15. 地狱模式的居转户记录07
  16. esp01s+blinker WOL远程开机
  17. win7下运行英雄无敌3的方法
  18. pdf转word文档
  19. UI --- Xcode7 模拟器运行时崩溃解决方法
  20. css 动画 飞机,利用CSS3实现炫酷的飞机起飞的动画

热门文章

  1. 为了实现CI/CD,先来定制一个Docker镜像【实战精华篇】
  2. 计算机辅助教育阶段,最新计算机辅助教育复习资料(7页)-原创力文档
  3. 百度飞桨:(情人节特辑)想做就做,让爱豆对你说情话,过凡尔赛式情人节~
  4. 图文教程:教你快速生成实体店电子优惠券
  5. 三分钟学会twitter营销
  6. 什么是单标签和双标签,有何区别。
  7. i5 12400性能怎么样 酷睿i512400核显相当于什么水平
  8. [转]C++ 堆栈溢出的原因以及可行的解决方法
  9. 44.(leaflet篇)leaflet暗色系地图样式地图(获取滤镜值)
  10. 看《21天学通SQL SERVER》练习代码2