PHP:ThinkPHP5.0下载安装和各种配置

简介: PHP:ThinkPHP5.0下载安装和各种配置

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=localhost
database_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


Python多维/嵌套字典数据无限遍历的实现

pdf


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

相关文章
|
19天前
|
小程序 PHP 图形学
热门小游戏源码(Python+PHP)下载-微信小程序游戏源码Unity发实战指南​
本文详解如何结合Python、PHP与Unity开发并部署小游戏至微信小程序。涵盖技术选型、Pygame实战、PHP后端对接、Unity转换适配及性能优化,提供从原型到发布的完整指南,助力开发者快速上手并发布游戏。
|
3月前
|
JavaScript Linux PHP
composer如何安装以及举例在PHP项目中使用Composer安装TCPDF库-优雅草卓伊凡
composer如何安装以及举例在PHP项目中使用Composer安装TCPDF库-优雅草卓伊凡
133 3
composer如何安装以及举例在PHP项目中使用Composer安装TCPDF库-优雅草卓伊凡
|
4月前
|
自然语言处理 测试技术 API
TCPDF库详解:功能、作用及多语言安装指南-tcpdf可不是只有php能用-优雅草卓伊凡
TCPDF库详解:功能、作用及多语言安装指南-tcpdf可不是只有php能用-优雅草卓伊凡
374 5
|
9月前
|
运维 JavaScript 应用服务中间件
os-copilot安装与多项功能测评,帮助开发人员PHP环境排查问题
本文介绍了OS Copilot在ECS上 Alibaba Cloud Linux的安装与使用,并对其多项参数进行了功能测评。OS Copilot是为操作系统提供智能化辅助的工具,支持自动化任务、智能推荐、故障排查等功能。安装时需检查是否已安装(`rpm -q os-copilot`),若未安装则用`yum install os-copilot`命令安装,并配置AccessKey信息连接阿里云服务。通过测试不同参数命令,如`-t`参数,展示了其自动化执行和智能生成回答的能力,显著提升运维效率。
os-copilot安装与多项功能测评,帮助开发人员PHP环境排查问题
|
6月前
|
Ubuntu Linux PHP
利用PHP压缩音频:Linux环境下的ffmpeg简易安装指南
希望这个指南能为你的编程之旅提供帮助。只需记住,每一行代码都像音乐的音符,组合在一起,创造出美妙的旋律。祝你编程愉快!
201 6
|
8月前
|
监控 Linux PHP
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
201 20
|
11月前
|
Java 程序员 PHP
01 入门PHP就来我这-安装phpstudy
路老师的PHP入门教程,带你从零开始学习PHP。首先下载并安装phpStudy,接着配置域名和端口,最后创建并运行第一个PHP文件。内容详实,适合初学者。
206 3
01 入门PHP就来我这-安装phpstudy
|
10月前
|
PHP 计算机视觉 UED
Buzz库:PHP图像处理中的异步图像下载和保存
Buzz库:PHP图像处理中的异步图像下载和保存
|
12月前
|
NoSQL MongoDB PHP
PHP7 MongDB 安装与使用
10月更文挑战第19天
124 1
PHP7 MongDB 安装与使用
|
11月前
|
安全 PHP 开发者
php中配置variables_order详解
`variables_order` 是 PHP 配置中的一个关键指令,它决定了不同来源的变量被导入到全局变量空间的顺序。正确配置 `variables_order` 不仅可以确保变量的正确处理和覆盖顺序,还能提高应用程序的安全性。开发者应根据具体应用的需求,合理配置 `variables_order`,确保应用的稳定和安全运行。
127 5