独立配置

配置

独立配置

2021-03-24 09:26:22 562阅读 793赞
独立配置文件配置文件支持分离(也称为扩展配置),只需要在公共配置文件配置extra_config_list参数(V5.0版本已经废除该写法)。例如,不使用独立配置文件的话,数据库配置信息应该是在config.php中配置如下:/* 数据库设
配置作用域

配置

配置作用域

2021-03-24 09:25:51 706阅读 935赞
作用域配置参数支持作用域的概念,默认情况下,所有参数都在同一个系统默认作用域下面。如果你的配置参数需要用于不同的项目或者相互隔离,那么就可以使用作用域功能,作用域的作用好比是配置参数的命名空间一样。// 导入my_config.php中的配
环境变量配置

配置

环境变量配置

2021-03-24 09:24:58 584阅读 911赞
环境变量配置ThinkPHP5.0支持使用环境变量配置。在开发过程中,可以在应用根目录下面的.env来模拟环境变量配置,.env文件中的配置参数定义格式采用ini方式,例如:app_debug =  trueapp_tr
架构总览

架构

架构总览

2021-03-24 09:24:24 726阅读 900赞
ThinkPHP应用基于MVC(模型-视图-控制器)的方式来组织。MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型(M)、视图(V)、控制器(C),它们各自处理自己的任务。5.0的URL访问
生命周期

架构

生命周期

2021-03-24 09:23:22 987阅读 831赞
本篇内容我们对ThinkPHP5.0的应用请求的生命周期做大致的介绍,以便于开发者了解整个执行流程。1、入口文件用户发起的请求都会经过应用的入口文件,通常是 public/index.php文件。当然,你也可以更改或者增加新的入口文件。通常
入口文件

架构

入口文件

2021-03-24 09:22:44 919阅读 619赞
ThinkPHP采用单一入口模式进行项目部署和访问,无论完成什么功能,一个应用都有一个统一(但不一定是唯一)的入口。应该说,所有应用都是从入口文件开始的,并且不同应用的入口文件是类似的。入口文件定义入口文件主要完成:定义框架路径、项目路径(可选)定义
URL访问

架构

URL访问

2021-03-24 09:22:15 869阅读 878赞
URL设计ThinkPHP5.0在没有启用路由的情况下典型的URL访问规则是:http://serverName/index.php(或者其它应用入口文件)/模块/控制器/操作/[参数名/参数值...]支持切换到命令行访问,如果切换到命令行模式下面的
模块设计

架构

模块设计

2021-03-24 09:20:54 792阅读 630赞
5.0版本对模块的功能做了灵活设计,默认采用多模块的架构,并且支持单一模块设计,所有模块的命名空间均以app作为根命名空间(可配置更改)。目录结构标准的应用和模块目录结构如下:├─application    
命名空间

架构

命名空间

2021-03-24 09:19:45 708阅读 840赞
命名空间ThinkPHP1采用命名空间方式定义和自动加载类库文件,有效的解决了多模块和Composer类库之间的命名空间冲突问题,并且实现了更加高效的类库自动加载机制。如果不清楚命名空间的基本概念,可以参考PHP手册:PHP命名空间特别注意的是,如果
自动加载

架构

自动加载

2021-03-24 09:19:13 752阅读 975赞
概述ThinkPHP5.0真正实现了按需加载,所有类库采用自动加载机制,并且支持类库映射和composer类库的自动加载。自动加载的实现由think\Loader类库完成,自动加载规范符合PHP的PSR-4。自动加载由于新版ThinkPHP完全采用了
Traits引入

架构

Traits引入

2021-03-24 09:18:44 703阅读 593赞
ThinkPHP 5.0开始采用trait功能(PHP5.4+)来作为一种扩展机制,可以方便的实现一个类库的多继承问题。trait是一种为类似 PHP 的单继承语言而准备的代码复用机制。trait为了减少单继承语言的限制,使开发人员能够自由
API友好

架构

API友好

2021-03-24 09:18:05 746阅读 832赞
新版ThinkPHP针对API开发做了很多的优化,并且不依赖原来的API模式扩展。数据输出新版的控制器输出采用Response类统一处理,而不是直接在控制器中进行输出,通过设置default_return_type或者动态设置不同类型的Respons
模板定位

模板

模板定位

2021-03-24 09:16:09 638阅读 851赞
模板文件定义每个模块的模板文件是独立的,为了对模板文件更加有效的管理,ThinkPHP对模板文件进行目录划分,默认的模板文件定义规则是:视图目录/控制器名(小写)/操作名(小写)+模板后缀默认的视图目录是模块的view目录,框架的默认视图文件后缀是.
模板标签

模板

模板标签

2021-03-24 09:15:35 803阅读 807赞
模板文件可以包含普通标签和标签库标签,标签的定界符都可以重新配置。普通标签普通标签用于变量输出和模板注释,普通模板标签默认以{ 和 } 作为开始和结束标识,并且在开始标记紧跟标签的定义,如果之间有空格或者换行则被视为非模
变量输出

模板

变量输出

2021-03-24 09:15:06 631阅读 573赞
在模板中输出变量的方法很简单,例如,在控制器中我们给模板变量赋值:$view = new View();$view->name = 'thinkphp';return 
系统变量

模板

系统变量

2021-03-24 09:14:21 982阅读 980赞
系统变量输出普通的模板变量需要首先赋值后才能在模板中输出,但是系统变量则不需要,可以直接在模板中输出,系统变量的输出通常以**{$Think** 打头,例如:{$Think.server.script_name} // 输出$_S
请求参数

模板

请求参数

2021-03-24 09:13:45 984阅读 669赞
模板支持直接输出Request请求对象的方法参数,用法如下:$Request.方法名.参数例如:{$Request.get.id}{$Request.param.name}以$Request.开头的变量输出会认为是系统Request请求对象的参数输出
使用函数

模板

使用函数

2021-03-24 09:13:14 766阅读 809赞
我们往往需要对模板输出变量使用函数,可以使用:{$data.name|md5}编译后的结果是:<?php echo (md5($data['name'])); ?>如果函数有多个参数需要调用,
使用默认值

模板

使用默认值

2021-03-24 09:12:47 879阅读 827赞
我们可以给变量输出提供默认值,例如:{$user.nickname|default="这家伙很懒,什么也没留下"}对系统变量依然可以支持默认值输出,例如:{$Think.get.name|default="名称为空&qu
使用运算符

模板

使用运算符

2021-03-24 09:12:04 878阅读 875赞
我们可以对模板输出使用运算符,包括对“+”“-” “*” “/”和“%”的支持。例如:运算符使用示例+{$a+$b}-{$a-$b}*{$a*$b}/{$a/$b}%{$a%$b}++{$a++} 或 {++$a}--{$a--} 或 {--$a}综