ThinkPHP5.1对底层架构做了进一步的改进,减少依赖,其主要特性包括:
ThinkPHP5的运行环境要求PHP5.6以上。
初始的目录结构如下:
www WEB部署目录(或者子目录)
├─application 应用目录
│ ├─common 公共模块目录(可以更改)
│ ├─module_name 模块目录
│ │ ├─common.php 模块函数文件
│ │ ├─controller 控制器目录
│ │ ├─model 模型目录
│ │ ├─view 视图目录
│ │ └─ ... 更多类库目录
│ │
│ ├─command.php 命令行定义文件
│ ├─common.php 公共函数文件
│ └─tags.php 应用行为扩展定义文件
│
├─config 应用配置目录
│ ├─module_name 模块配置目录
│ │ ├─database.php 数据库配置
│ │ ├─cache 缓存配置
│ │ └─ ...
│ │
│ ├─app.php 应用配置
│ ├─cache.php 缓存配置
│ ├─cookie.php Cookie配置
│ ├─database.php 数据库配置
│ ├─log.php 日志配置
│ ├─session.php Session配置
│ ├─template.php 模板引擎配置
│ └─trace.php Trace配置
│
├─route 路由定义目录
│ ├─route.php 路由定义
│ └─... 更多
│
├─public WEB目录(对外访问目录)
│ ├─index.php 入口文件
│ ├─router.php 快速测试文件
│ └─.htaccess 用于apache的重写
│
├─thinkphp 框架系统目录
│ ├─lang 语言文件目录
│ ├─library 框架类库目录
│ │ ├─think Think类库包目录
│ │ └─traits 系统Trait目录
│ │
│ ├─tpl 系统模板目录
│ ├─base.php 基础定义文件
│ ├─console.php 控制台入口文件
│ ├─convention.php 框架惯例配置文件
│ ├─helper.php 助手函数文件
│ ├─phpunit.xml phpunit配置文件
│ └─start.php 框架入口文件
│
├─extend 扩展类库目录
├─runtime 应用的运行时目录(可写,可定制)
├─vendor 第三方类库目录(Composer依赖库)
├─build.php 自动生成定义文件(参考)
├─composer.json composer 定义文件
├─LICENSE.txt 授权说明文件
├─README.md README 文件
├─think 命令行入口文件
router.php用于php自带webserver支持,可用于快速测试 切换到public目录后,启动命令:php -S localhost:8888 router.php 上面的目录结构和名称是可以改变的,这取决于你的入口文件和配置参数。
原有下面系统类库的命名空间需要调整:
原有的配置文件config.php 拆分为app.php cache.php 等独立配置文件 放入config目录。 原有的路由定义文件route.php 移动到route目录
ThinkPHP5
遵循PSR-2命名规范和PSR-4自动加载规范,并且注意如下规范:
.php
为后缀;User
、UserType
,默认不需要添加后缀,例如UserController
应该直接命名为User
;get_client_ip
;getUserName
;tableName
、instance
;__call
和 __autoload
;APP_PATH
和 THINK_PATH
;url_route_on
和url_convert
;think_user
表和 user_name
字段,不建议使用驼峰和中文作为数据表字段命名。请参阅 ThinkPHP5 核心框架包。
ThinkPHP遵循Apache2开源协议发布,并提供免费使用。
本项目包含的第三方源码和二进制文件之版权信息另行标注。
版权所有Copyright © 2006-2018 by ThinkPHP (http://thinkphp.cn)
All rights reserved。
ThinkPHP® 商标和著作权所有者为上海顶想信息科技有限公司。
更多细节参阅 LICENSE.txt
这里再次对dawn-api进行了改动,下面就更改的一些地方进行说明
优化并使用了自动加载扩展函数,解放了每次都要手动在extraActionList
书写的问题
Wiki文档可以使用注解进行标记了,解放了需要在getRules()
中写参数才能显示的问题,当然,只是做优化,您还可以写在里面,在这里我主要使用注解方式.下面是注解的用法,以login为例:
/**
* @title 用户登录
* @method login
* @param string $phone 账号 true
* @param string $password 密码 true md5
* @route('v1/user/login')
* @return Object User 用户信息
*/
login
的接口参数说明配合使用ThinkPHP5.1.X的注解路由更家灵活多变,上面的例子就用到了注解路由,更多有关于注解路由请参考
为了方便使用在这里新增了命令行工具,使用命令行工具可以快速的创建API控制器,下面做简单的介绍
php ./think
可以查看可以使用的命令行,看到了api
,就表示可以使用提供的命令行工具了,显示如图:php ./think api -s first -c news
创建一个命名空间为first
名称为news
的控制器,运行命令后出现了Success
就创建成功了.如图:命令执行成功后你会看到在项目中application\first\controller
中多出了一个名为News.php
的文件,这个就是为你生成的一些方法.
在生成控制器的同时还在配置文件api_doc.php
生成了相应的文档的相关配置,如图:
需要注意的是因为开启了注解路由,创建成功之后最好执行路由生成工具,重新生成路由.
下面主要介绍一下提供的参数,方便您使用
php ./think api -h
查看帮助,您将得到的结果如下: php ./think api -s first -c sub -p 5 #为id为5的创建一个字文档,id自增
php ./think api -s first -c sub1 -i 8 #创建一个id为8的文档节点,父级为顶级
php ./think api -s first -c sub2 -i 9 -p 5 #创建一个id为5的创建一个id为9的子级文档节点
运行成功后:
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. 开源生态
2. 协作、人、软件
3. 评估模型