1. 首页
  2. 移动开发
  3. 其他
  4. thinkphp3.2

thinkphp3.2

上传者: 2018-12-25 16:03:58上传 PDF文件 2.38MB 热度 80次
ThinkPHP3.2.2完全开发手册基础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/thinkphpOschina:http://git.oschina.net/liu21st/thinkphp.gitCode:https://code.csdnnet/topthink2011/thinkphpThinkPHP无需任何安装,直接拷贝到你的电脑或者服务器的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 mdREADME文件Application应用目录5Public资源文件目录6ThinkPhP框架目录3.2版本相比之前的版本自带了一个完整的应用目录结构和默认的应用入口文件,开发人员可以在这个基础之上灵活调整。其中, Application和 Public目录下面都是空的。README md文件仅用于说明,实际部署的时候可以删除。上面的目录结构和名称是可以改变的,这取决于你的入口文件和配置参数Application目录默认是空的,但是第一次访问入口文件会自动生成,参考后面的入口文件部分。其中框架目录 ThinkPH PI的结构如下1.+ ThinkPHP框架系统目录(可以部署在非Web目录下面)Common核心公共函数目录3Conf核心配置目录LAng核心语言包目录ibra框架类库目录-Think核心 Think类库包目录Behavior行为类库目录gOrg类库包目录Vendor第三方类库目录10更多类库目录11Mode框架应用模式目录2FTpl系统模板目录LICENSE. txt框架授权协议文件ogo. on框架LOGO文件README.txt框架 README文件16index. 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)./)i3.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应用目录456Hpublic资源文件目录Runtime运行时目录L-Think框架目录入口文件中还可以定义一些系统变量,用于相关的绑定操作(通常用于多个入口的情况),这个会在后面涉及,暂且不提。自动生成自动创建目录在第一次访问应用入口文件的时候,会显示如图所示的默认的欢迎页面,并自动生成了一个默认的应用模块Home。欢迎使用 ThinkPHP!接下来再看原来空的 Application目录下面,已经自动生成了公共模块(omon、默认的Home模块和 Runtime运行时目录的目录结构:1. Application应用公共模块3.|COmmon应用公共函数目录应用公共配置文件目录默认生成的Home模块模块配置文件目录Common模块函数公共目录8.|| -Controller模块控制器目录Model模块模型目录模块视图文件目录11Runtime运行时目录Cache模版缓存目录234Data数据目录Logs日志目录15Temp缓存目录如果你不是 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配置文件目录3Common公共函数目录Controller控制器目录5Model模型目录Logic逻辑目录(可选)Service Service目录(可选)8更多分层目录可选L-view视图日录由于采用多层的MvC机制,除了Con缃和 Common目录外,每个模块下面的目录结构可以根据需要灵活设置和添加,所以并不拘泥于上面展现的目录控制器我们可以在自动生成的 Application/Home/ Controller目录下面找到一个Indexcontro1er. class.php文件,这就是默认的ndex控制器文件。控制器类的命名方式是:控制器名(驼峰法,首字母大写)+ Controller控制器文件的命名方式是:类名+ class.php(类文件后缀)
用户评论
码姐姐匿名网友 2018-12-25 16:03:58

还行,可以借鉴一下