摘要:
ThinkPHP V5.0的控制器定义比较灵活,可以无需继承任何的基础类,也可以继承官方封装的\think\Controller类或者其他的控制器类。 控制器定义 一个典型的控制器类定义如下: 控制器类文件的实际位置是 控制器类可以无需继承任何类,命名空间默认以app为根命名空间。 控制器的根命名空 阅读全文
摘要:
概述 ThinkPHP5.0真正实现了按需加载,所有类库采用自动加载机制,并且支持类库映射和composer类库的自动加载。 自动加载的实现由think\Loader类库完成,自动加载规范符合PHP的PSR-4。 自动加载 由于新版ThinkPHP完全采用了命名空间的特性,因此只需要给类库正确定义所 阅读全文
摘要:
命名空间 ThinkPHP5采用命名空间方式定义和自动加载类库文件,有效的解决了多模块和Composer类库之间的命名空间冲突问题,并且实现了更加高效的类库自动加载机制。 如果不清楚命名空间的基本概念,可以参考PHP手册:PHP命名空间 特别注意的是,如果你需要调用PHP内置的类库,或者第三方没有使 阅读全文
摘要:
URL设计 ThinkPHP5.0在没有启用路由的情况下典型的URL访问规则是: http://serverName/index.php(或者其它应用入口文件)/模块/控制器/操作/[参数名/参数值...] 支持切换到命令行访问,如果切换到命令行模式下面的访问规则是: >php.exe index. 阅读全文
摘要:
5.0版本对模块的功能做了灵活设计,默认采用多模块的架构,并且支持单一模块设计,所有模块的命名空间均以app作为根命名空间(可配置更改)。 目录结构 标准的应用和模块目录结构如下: 遵循ThinkPHP5.0的命名规范,模块目录全部采用小写和下划线命名。 模块名称请避免使用PHP保留关键字(保留字列 阅读全文
摘要:
ThinkPHP采用单一入口模式进行项目部署和访问,无论完成什么功能,一个应用都有一个统一(但不一定是唯一)的入口。 应该说,所有应用都是从入口文件开始的,并且不同应用的入口文件是类似的。 入口文件定义 入口文件主要完成: 定义框架路径、项目路径(可选) 定义系统相关常量(可选) 载入框架入口文件( 阅读全文
摘要:
ThinkPHP5.0应用基于MVC(模型-视图-控制器)的方式来组织。 MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型(M)、视图(V)、控制器(C),它们各自处理自己的任务。 5.0的URL访问受路由决定,如果关闭路由或者没有匹配路由 阅读全文
摘要:
1、入口文件 用户发起的请求都会经过应用的入口文件,通常是 public/index.php文件。当然,你也可以更改或者增加新的入口文件。 通常入口文件的代码都比较简单,一个普通的入口文件代码如下: 一般入口文件以定义一些常量为主,支持的常量请参考后续的内容或者附录部分。 通常,我们不建议在应用入口 阅读全文