ThinkPHP-5-简明开发手册

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

介绍ThinkPHPV5.0——为API开发而设计的高性能框架ThinkPHP5.0版本是一个颠覆和重构版本,采用全新的架构思想,引入了很多的PHP新特性,优化了核心,减少了依赖,实现了真正的惰性加载,并针对API开发做了大量的优化。新版主要功能特性如下:新版主要功能特性如下:(目前尚处于Beta版本,仅供学习参考,请谨慎用于项目)由于版本库更新较多,很多内容文档可能不一定会及时更新,请谅解,正式版发布后文档才会趋于完善。[底层架构]真正的惰性加载核心类库组件化框架引导文件采用Traits扩展API友好(输出、异常和调试)文件命名规范调整[调试和异常]专为API开发而设计的输出、调试和异常处理日志类支持本地文件/SAE/页面Trace/SocketLog输出,可以实现远程浏览器插件调试内置trace方法直接远程调试异常预警通知驱动设计数据库SQL性能分析支持[路由]ThinkPHP5简明开发手册-1-本文档使用看云构建独立路由类库静态方法注册路由规则自定义路由检测方法路由分组功能支持规则路由中的变量支持采用正则规则定义(包括全局和局部)闭包劫持完善路由别名支持支持路由到多层控制器[控制器]控制器类无需继承controller类灵活的多层控制器支持可以Traits引入高级控制器功能控制器rest/yar/rpc/hprose/jsonrpc扩展前置操作方法支持排除和指定操作控制器操作方法统一return设计[模型]简化的核心模型Traits引入高级模型/视图模型/关联模型主从分布时候主数据库读操作支持改进的join方法和order方法取消字段缓存[视图]视图解析驱动设计(模板引擎)所有方法不再直接输出而是返回交由系统统一输出处理动态切换模板主题设计动态切换模板引擎设计[数据库]完全基于PDO实现简化的数据库驱动设计SQL性能监控(需要开启数据库调试模式)[其他方面]ThinkPHP5简明开发手册-2-本文档使用看云构建目录和MVC文件自动生成支持I函数默认添加变量修饰符为/s一个行为类里面支持为多个标签位定义不同的方法更多的社交扩展类库在RC版本发布之前,ThinkPHP5仍然可能存在功能变化。相对于3.2版本,废除了如下功能:编译缓存LITE文件字段缓存计划支持的功能包括:单元测试支持;命令行工具集;队列;由于ThinkPHP5设计之初并未考虑兼容旧版本升级,因此如果从3.2版本升级将会有不少的问题需要注意,在正式版发布之前官方会尽量给出一份升级指南文档。ThinkPHP5简明开发手册-3-本文档使用看云构建快速入门本章内容提供了ThinkPHP5.0的一些基本用法,并且处于不断完善过程。注意:本章内容会随着最新版本的功能变化而做出一定的调整,因此相关功能的说明均针对Github的最新版本,而非官网下载版本。GITHUB地址:安装配置ThinkPHP5的环境要求如下:PHP=5.4.0PDOPHPExtensionCURLPHPExtension严格来说,ThinkPHP无需安装过程,这里所说的安装其实就是把ThinkPHP框架放入WEB运行环境(前提前提是你的WEB运行环境已经OK是你的WEB运行环境已经OK),可以通过两种方式获取和安装ThinkPHP。一、下载ThinkPHP安装获取ThinkPHP的方式很多,官方网站()是最好的下载和文档获取来源。官网提供了稳定版本的下载:由于ThinkPHP5.0还在测试阶段,所以需要通过Git服务器下载,Git服务地址:下载或者使用GIT克隆到本地后,请(解压缩后)放置于你的WEB根目录下面的tp5子目录。二、使用Composer安装ThinkPHP支持使用Composer安装,如果还没有安装Composer,你可以按Composer安装中的方法安装。在Linux和MacOSX中可以运行如下命令:curl-sS|phpmvcomposer.phar/usr/local/bin/composer在Windows中,你需要下载并运行Composer-Setup.exe。ThinkPHP5简明开发手册-4-本文档使用看云构建如果遇到任何问题或者想更深入地学习Composer,请参考Composer文档(英文),Composer中文。如果你已经安装有Composer请确保使用的是最新版本,你可以用composerself-update命令更新Composer为最新版本。然后在命令行下面,切换到你的web根目录下面并执行下面的命令:composercreate-projecttopthink/thinktp5dev-master--prefer-dist由于目前尚未正式发布,所以先用dev-master分支。如果出现错误提示,请根据提示操作或者参考Composer中文文档。如果国内访问composer的速度比较慢,可以参考这里的说明使用国内镜像无论你采用什么方式获取的ThinkPHP框架,现在只需要做最后一步来验证是否正常运行。在浏览器中输入地址:如果浏览器输出如图所示:恭喜你,现在已经完成ThinkPHP的安装!如果你无法正常运行并显示ThinkPHP的欢迎页面,那么请参考下面的列表检查下你的服务器环境:PHP5.4以上版本(注意:PHP5.4dev版本和PHP6均不支持注意:PHP5.4dev版本和PHP6均不支持)WEB服务器是否正常启动目录结构下载最新版框架后,解压缩到web目录下面,可以看到初始的目录结构如下:ThinkPHP5简明开发手册-5-本文档使用看云构建project应用部署目录├─composer.jsoncomposer定义文件├─README.mdREADME文件├─build.php自动生成定义文件(参考)├─LICENSE.txt授权说明文件├─application应用目录(可设置)│├─common公共模块目录(可更改)│├─runtime应用的运行时目录(可写,可设置)│├─module模块目录││├─config.php模块配置文件││├─common.php模块函数文件││├─controller控制器目录││├─model模型目录││├─view视图目录││├─...更多类库目录│├─common.php公共函数文件│├─route.php路由配置文件│├─database.php数据库配置文件│└─config.php公共配置文件├─publicWEB部署目录(对外访问目录)│├─index.php应用入口文件│├─.htaccess用于apache的重写│└─router.php快速测试文件(用于自带webserver)├─thinkphp框架系统目录│├─library框架类库目录││├─behavior行为类库目录││├─thinkThink类库包目录││├─orgOrg类库包目录││├─traits系统Traits目录││├─...更多类库目录│├─extend扩展类库目录(可自定义)│├─vendor第三方类库目录│├─mode应用模式目录│├─tpl系统模板目录│├─base.php基础文件│├─convention.php框架惯例配置文件│└─start.php框架引导文件router.php用于php自带webserver支持,可用于快速测试进入public目录后,启动命令:php-Slocalhost:8888router.php5.0版本自带了一个完整的应用目录结构和默认的应用入口文件,开发人员可以在这个基础之上灵活调整。上面的目录结构和名称是可以改变的,这取决于你的入口文件和配置参数。由于ThinkPHP5.0.0的架构设计对模块的目录结构保留了很多的灵活性,尤其是对于用于存储的目录具有高度的定制化,因此上述的目录结构仅供规范参考。ThinkPHP5简明开发手册-6-本文档使用看云构建系统架构URL设计ThinkPHP5.0.0在没有启用路由的情况下典型的URL访问规则是:应用(或应用入口文件)/模块/控制器/操作/[参数名/参数值...]支持切换到命令行访问,如果切换到命令行模式下面的访问规则是:php.exeindex.php(应用入口文件)模块/控制器/操作/[参数名/参数值...]可以看到,无论是URL访问还是命令行访问,都采用PATHINFO模式的访问地址,其中PATHINFO的分隔符是可以设置的。首先,解释下其中的几个概念:应用应用基于同一个入口文件访问的项目我们称之为一个应用。模块模块一个应用下面可以包含多个模块,每个模块在应用目录下面都是一个独立的子目录。控制器控制器每个模块可以包含多个控制器,一个控制器通常体现为一个(控制器)类。操作操作每个控制器类可以包含多个操作方法,每个操作是URL访问的最小单元。简化URL访问在ThinkPHP5.0中,出于优化的URL访问原则,我们还做出了如下的URL访问设计,这些设计包括:隐藏应用入口文件隐藏应用入口文件应用入口文件通常就是指index.php,可以通过URL重写隐藏。隐藏应用入口文件index.php,以Apache为例说明如何设置。下面是Apache的配置过程,可以参考下:1、httpd.conf配置文件中加载了mod_rewrite.so模块2、AllowOverrideNone将None改为All3、把下面的内容保存为.htaccess文件放到应用入口文件的同级目录下ThinkPHP5简明开发手册-7-本文档使用看云构建IfModulemod_rewrite.cRewriteEngineonRewriteCond%{REQUEST_FILENAME}!-dRewriteCond%{REQUEST_FILENAME}!-fRewriteRule^(.*)$index.php/$1[QSA,PT,L]/IfModule隐藏模块隐藏模块由于默认是采用多模块的支持,所以多个模块的情况下必须在URL地址中标识当前模块,如果只有一个模块的话,可以进行模块绑定,方法是应用的公共文件中添加如下代码://绑定index模块\think\Route::bind('module','index');设置后,我们的URL访问地址则变成:应用入口/控制器/操作/[参数名/参数值...]//访问的模块是index模块隐藏控制器隐藏控制器如果你的应用比较简单,模块和控制器都只有一个,那么可以在应用公共文件中绑定模块和控制器,如下://绑定index模块的index控制器\think\Route::bind('module','index/index');设置后,我们的URL访问地址则变成:应用入口/操作/[参数名/参数值...]//访问的模块是index模块,控制器是Index控制器单一模块如果你的应用比较简单,只有一个模块,那么可以尝试使用单一模块结构,方法如下:首先在入口文件中设置//关闭多模块设计define('APP_MULTI_MODULE',false);应用的目录结构就变成:ThinkPHP5简明开发手册-8-本文档使用看云构建├─application应用目录(可设置)│├─runtime应用的运行时目录(可写,可设置)│├─controller控制器目录│├─model模型目录│├─view视图目录│├─...更多类库目录│├─common.php函数文件│├─route.php路由配置文件│├─database.php数据库配置文件│└─config.php配置文件UR

1 / 104
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功