摘要: ThinkPHP V5.0的控制器定义比较灵活,可以无需继承任何的基础类,也可以继承官方封装的\think\Controller类或者其他的控制器类。 控制器定义 一个典型的控制器类定义如下: 控制器类文件的实际位置是 控制器类可以无需继承任何类,命名空间默认以app为根命名空间。 控制器的根命名空 阅读全文
posted @ 2019-06-03 14:43 浅墨若寒 阅读(1476) 评论(0) 推荐(0) 编辑
摘要: 概述 ThinkPHP5.0真正实现了按需加载,所有类库采用自动加载机制,并且支持类库映射和composer类库的自动加载。 自动加载的实现由think\Loader类库完成,自动加载规范符合PHP的PSR-4。 自动加载 由于新版ThinkPHP完全采用了命名空间的特性,因此只需要给类库正确定义所 阅读全文
posted @ 2019-06-03 14:42 浅墨若寒 阅读(675) 评论(0) 推荐(0) 编辑
摘要: 命名空间 ThinkPHP5采用命名空间方式定义和自动加载类库文件,有效的解决了多模块和Composer类库之间的命名空间冲突问题,并且实现了更加高效的类库自动加载机制。 如果不清楚命名空间的基本概念,可以参考PHP手册:PHP命名空间 特别注意的是,如果你需要调用PHP内置的类库,或者第三方没有使 阅读全文
posted @ 2019-06-03 14:42 浅墨若寒 阅读(1289) 评论(0) 推荐(1) 编辑
摘要: URL设计 ThinkPHP5.0在没有启用路由的情况下典型的URL访问规则是: http://serverName/index.php(或者其它应用入口文件)/模块/控制器/操作/[参数名/参数值...] 支持切换到命令行访问,如果切换到命令行模式下面的访问规则是: >php.exe index. 阅读全文
posted @ 2019-06-03 14:40 浅墨若寒 阅读(864) 评论(0) 推荐(0) 编辑
摘要: 5.0版本对模块的功能做了灵活设计,默认采用多模块的架构,并且支持单一模块设计,所有模块的命名空间均以app作为根命名空间(可配置更改)。 目录结构 标准的应用和模块目录结构如下: 遵循ThinkPHP5.0的命名规范,模块目录全部采用小写和下划线命名。 模块名称请避免使用PHP保留关键字(保留字列 阅读全文
posted @ 2019-06-03 14:40 浅墨若寒 阅读(741) 评论(0) 推荐(0) 编辑
摘要: ThinkPHP采用单一入口模式进行项目部署和访问,无论完成什么功能,一个应用都有一个统一(但不一定是唯一)的入口。 应该说,所有应用都是从入口文件开始的,并且不同应用的入口文件是类似的。 入口文件定义 入口文件主要完成: 定义框架路径、项目路径(可选) 定义系统相关常量(可选) 载入框架入口文件( 阅读全文
posted @ 2019-06-03 14:39 浅墨若寒 阅读(1766) 评论(0) 推荐(0) 编辑
摘要: ThinkPHP5.0应用基于MVC(模型-视图-控制器)的方式来组织。 MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型(M)、视图(V)、控制器(C),它们各自处理自己的任务。 5.0的URL访问受路由决定,如果关闭路由或者没有匹配路由 阅读全文
posted @ 2019-06-03 14:38 浅墨若寒 阅读(332) 评论(0) 推荐(0) 编辑
摘要: 1、入口文件 用户发起的请求都会经过应用的入口文件,通常是 public/index.php文件。当然,你也可以更改或者增加新的入口文件。 通常入口文件的代码都比较简单,一个普通的入口文件代码如下: 一般入口文件以定义一些常量为主,支持的常量请参考后续的内容或者附录部分。 通常,我们不建议在应用入口 阅读全文
posted @ 2019-06-03 14:38 浅墨若寒 阅读(2165) 评论(0) 推荐(0) 编辑
摘要: HTTP简介 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。 HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等) 阅读全文
posted @ 2019-05-24 13:49 浅墨若寒 阅读(265) 评论(0) 推荐(0) 编辑
摘要: PHP中,有很多“现成的类”,其中有一个被称为“内置标准类”。这个类“内部”可以认为什么也没有。 class stdclass{ }1<?php$obj1 = new stdclass();var_dump($obj1); class A{}$obj2 = new A();var_dump($obj 阅读全文
posted @ 2019-05-24 09:43 浅墨若寒 阅读(930) 评论(0) 推荐(0) 编辑