配置 独立配置 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访问 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引入 2021-03-24 09:18:44 703阅读 593赞 ThinkPHP 5.0开始采用trait功能(PHP5.4+)来作为一种扩展机制,可以方便的实现一个类库的多继承问题。trait是一种为类似 PHP 的单继承语言而准备的代码复用机制。trait为了减少单继承语言的限制,使开发人员能够自由
架构 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}综