ThinkPHP最新完全开发手册

所需积分/C币:10 2015-12-30 17:33:39 2.35MB PDF

ThinkPHP3.2.2完全开发手册。 虚幻4引擎专题相关参考文献。
基础 ThinkPHP是一个快速、简单的基于MVC和面向对象的轻量级PHP开发框架,遵循 Apache2开源协议发 布,从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,尤其注重开发体 验和易用性,并且拥有众多的原创功能和特性,为WEB应用开发提供了强有力的支持。 3.2版本则在原来的基础上进行一些架构的调整,引入了命名空间支持和模块化的完善,为大型应用和模 块化开发提供了更多的便利 [2014/04/15]322主要更新 o应用支持包括PHP/ SON/INIXMLAYAML以及自定义格式的配置文件 o支持模块的自动生成 增加插件控制器的访问支持; cookie函数增加httponly参数支持; 改进模型类的安全处理; o修正了3.2.1发布以来社区反馈的一些BUG [2014/02/14]321主要更新 o性能较3.2.0版本提升30%; o模块类库可以配置不使用命名空间 o支持运行时Lite文件生成,用于替换应用入口文件; 改进路由定义的闭包支持 o增加API应用模式,更加高效; 增加REST、RPC、 HPROSE和YAR控制器扩展支持; o增加REPL行为扩展增强框架开发的调试手段; 重写查询缓存功能 语言定义支持变量传入; oC函数获取配置参数支持默认值; o支持操作方法绑定到类; 改进和修正mage、veri和 Upload类; o修正了3.2.0发布以来社区反馈的一些BUG [2013/12/183.2.0主要更新 多模块的支持完善(原来的独立分组已经改为模块) 命名空间及新的自动加载机制; 全新的应用模式; o更完善的 Action参数绑定; oPDO参数绑定完普; o更方便的云平台支持,包括SAE和BAE 路由功能的增强及闭包支持; o子域名及泛域名部署的完善; o完全重写的部分工具类库(包括验证码、图像处理、权限处理、文件上传等)。 获取 ThinkPHP 获取ThinkPHP的方式很多,官方网站(http://thinkphp.cn)是最好的下载和文档获取来源。 官网提供了稳定版本的下载http://thinkphp.cn/down/framework.htm 如果你希望保持最新的更新,可以通过 github获取当前最新的版本更新 Git获取地址列表(你可以选择一个最快的地址) Github:https://github.com/liu21st/thinkphp Oschina:http://git.oschina.net/liu21st/thinkphp.git Code:https://code.csdnnet/topthink2011/thinkphp ThinkPHP无需任何安装,直接拷贝到你的电脑或者服务器的WEB运行目录下面即可。 环境要求 框架本身没有什么特别模块要求,具体的应用系统运行环境要求视开发所涉及的模块。 ThinkPHP庶层运 行的内存消耗极低,而本身的文件大小也是轻量级的,因此不会岀现空间和内存占用的瓶颈。 支持的服务器和数据库环境 支持 Windows/儿Unix服务器环境 可运行于包括 Apache、Is和 ngInx在内的多种WEB服务器和模式 支持Mysq、MsSQ、 PgSQL、 Sqlite、 Oracle、 Ibase、 Mongo以及PDO等多种数据库和连接 PHP版本要求 oPHP5.3以上版本(注意:PHP53dev版本和PHP6均不支持) 对于刚刚接触PHP或者 ThinkPHP的新手,我们推荐使用集成开发环 境 WAMPServer( Wampserver是一个集成了 Apache、PHP和 MySQL的开发套件,而且支持不同 PHP版本、MySQ版本和 Apache版本的切换)来使用 ThinkPhP进行本地开发和测试。 目录结构 下载3.2框架后,解压缩到web目录下面,可以看到初始的目录结构如下: 1. WWW WEB部署目录(或者子目录) index. php 入口文件 README md README文件 Application应用目录 5 Public 资源文件目录 6 ThinkPhP 框架目录 3.2版本相比之前的版本自带了一个完整的应用目录结构和默认的应用入口文件,开发人员可以在这个基 础之上灵活调整。其中, Application和 Public目录下面都是空的。 README md文件仅用于说明,实际部署的时候可以删除。 上面的目录结构和名称是可以改变的,这取决于你的入口文件和配置参数 Application目录默认是空的,但是第一次访问入口文件会自动生成,参考后面的入口文件部分。 其中框架目录 ThinkPH PI的结构如下 1.+ ThinkPHP框架系统目录(可以部署在非Web目录下面) Common 核心公共函数目录 3 Conf 核心配置目录 LAng 核心语言包目录 ibra 框架类库目录 -Think核心 Think类库包目录 Behavior行为类库目录 g Org类库包目录 Vendor第三方类库目录 10 更多类库目录 11 Mode 框架应用模式目录 2 FTpl 系统模板目录 LICENSE. txt框架授权协议文件 ogo. on 框架LOGO文件 README.txt框架 README文件 16 index. ph 框架入口文件 上述应用的目录结构只是默认设置,事实上,在实际部署应用的时候,我们建议除了应用入口文件 和pub1ic资源目录外,其他文件都放到非WEB目录下面,具有更好的安全性。 入口文件 ThinkPHP采用单一入口模式进行项目部署和访问,无论完成什么功能,一个应用都有一个统一(但不 定是唯一)的入口 应该说,所有应用都是从入口文件开始的,并且不同应用的入口文件是类似的 入口文件定义 入口文件主要完成 o定义框架路径、项目路径(可选) 定义调试模式和应用模式(可选) o定义系统相关常量(可选) 载入框架入口文件(必须) 默认情况下,3.2版本的框架已经自带了一个应用入口文件(以及默认的目录结构),内容如下 1. define('APP-_PATH','.Application/); 2. require./ThinkPHP/ThinkPHP. php': 注意:3.2版本开始无需定义 APP NAME常量 如果你改变了项目目录(例如把 Application更改为Aps),只需要在入口文件更改 APP PATH常量 定义即可 1. define('APP-_PATH','/Apps/); require ./ThinkPHP/ThinkPHP. php'j 注意: APP PATH的定义支持相对路径和绝对路径,但必须以"/"结束 如果你调整了框架核心目录的位置或者目录名,只需要这样修改: 1. define('APP-_PATH',' /Application/); 2. require./Think/ThinkPHP. php'i 也可以单独定义一个 THINK PATH常量用于引入 1. define( APP_PATH,'/Application/); 2. define(THINK_PATH, realpath(. /Think)./)i 3.require THINK_PATH 'ThinkPHP. php': 和 APP PATH一样 THINK PATH路径定义也必须以"〃结尾。 给 THINK_PATH和 APP PATH定义绝对路径会提高系统的加载效率。 入口文件中的其他定义 一般不建议在入口文件中做过多的操作,但可以重新定义一些系统常量,入口文件中支持定义(建议)的 些系统常量包括 常量 描述 THINK_PATH框架目录 APP PATH 应用目录 RUNTIME PATH应用运行时目录(可写) APP DEBUG 应用调试模式(默认为 false) STORAGE TYPE存储类型(默认为Fle) APP MODE应用模式(默认为 common) 注意:所有路径常量都必须以“"结尾 例如,我们可以在入口文件中重新定义相关目录并且开启调试模式 1.//定义应用目录 2. define(' APp PATh','/Apps/; 3./定义运行时目录 4. define(RUNTIMEPATH,'/Runtime/') 5.//开启调试模式 6. define('APP-_DEBUG, True); 7./更名框架目录名称,并载入框架入口文件 8. require. /Think/ThinkPHP. php': 这样最终的应用目录结构如下 1. WWW WEB部署目录(或者子目录) index. php 应用入口文件 3.Apps 应用目录 456 Hpublic 资源文件目录 Runtime 运行时目录 L-Think 框架目录 入口文件中还可以定义一些系统变量,用于相关的绑定操作(通常用于多个入口的情况),这个会 在后面涉及,暂且不提。 自动生成 自动创建目录 在第一次访问应用入口文件的时候,会显示如图所示的默认的欢迎页面,并自动生成了一个默认的应用模 块Home。 欢迎使用 ThinkPHP! 接下来再看原来空的 Application目录下面,已经自动生成了公共模块(omon、默认的Home模块 和 Runtime运行时目录的目录结构: 1. Application 应用公共模块 3.|COmmon 应用公共函数目录 应用公共配置文件目录 默认生成的Home模块 模块配置文件目录 Common 模块函数公共目录 8.|| -Controller模块控制器目录 Model 模块模型目录 模块视图文件目录 11 Runtime 运行时目录 Cache 模版缓存目录 234 Data 数据目录 Logs 日志目录 15 Temp 缓存目录 如果你不是 Windows环境下面的话,需要对应用目录 Application设置可写权限才能自动生成。 如果不是调试模式的话,会在 Runtime目录下面生成 common~ runtime,php文件(应用编译缓存文 件) 目录安全文件 在自动生成目录结构的同时,在各个目录下面我们还看到了 index, htn文件,这是 ThinkPHP自动生成的 目录安全文件。 为了避免某些服务器开启了目录浏览权限后可以直接在浏览器输入∪RL地址查看目录,系统默认开启了目 录安全文件机制,会在自动生成目录的时候生成空白的 index. htm1文件,当然安全文件的名称可以设 置,例如你想给安全文件定义为 default.htm可以在入口文件中添加 1. define('DIR_SECURE_FILENAME,,'default. htm1') 2. define('APPPATH','/Application/') 3. require"·/ ThinkPHP/ ThinkPHP.php’ 如果你的环境足够安全,不希望生成目录安全文件,可以在入口文件里面关闭目录安全文件的生成,例 如 1. define(BUILD_DIR_SECURE, false); 模块 3.2发布版本自带了一个应用目录结构,并且带了一个默认的应用入口文件,方便部署和测试,默认的应 用目录是 Application(实际部署过程中可以随意设置)。 通常情况下3.2无需使用多应用模式,因为大多数情况下,我们都可以通过多模块化以及多入口的设计来 解决应用的扩展需求。 模块设计 新版采用模块化的设计架构,下面是一个应用目录下面的模块目录结构,每个模块可以方便的卸载和部 署,并且支持公共模块。 1. Application 默认应用目录(可以设置) Common 公共模块(不能直接访问) Home 前台模块 4.Admin 后台模块 5 其他更多模块 Runtime 默认运行时目录(可以设置) 注意:3.2版本在原来3.1.3的独立分组的基础上进行了改进,改进后的独立分组就是新版的模块,之 前的模块则改称为控制器。 每个模块是相对独立的,其目录结构如下 Module 模块目录 Conf 配置文件目录 3 Common 公共函数目录 Controller控制器目录 5 Model 模型目录 Logic 逻辑目录(可选) Service Service目录(可选) 8 更多分层目录可选 L-view 视图日录 由于采用多层的MvC机制,除了Con缃和 Common目录外,每个模块下面的目录结构可以根据需要 灵活设置和添加,所以并不拘泥于上面展现的目录 控制器 我们可以在自动生成的 Application/Home/ Controller目录下面找到一个 Indexcontro1er. class.php文件,这就是默认的ndex控制器文件。 控制器类的命名方式是:控制器名(驼峰法,首字母大写)+ Controller 控制器文件的命名方式是:类名+ class.php(类文件后缀)

...展开详情
img
  • 分享王者

    成功上传51个资源即可获取

关注 私信 TA的资源

上传资源赚积分,得勋章
相关内容推荐