ThinkPhp3.2.3 多项目 后台 APP接口设计 框架设计
↓↓↓项目文件组成部分↓↓↓
APP文件是后台,index.php是入口文件
Interface文件是接口,注意这里不要用api命名!可能会有问题!interface.php是入口文件
注:两个入口文件唯一的区别就是interface比app入口文件多一行设置
// 应用api模式
define(‘APP_MODE’,’api’);
这句话的意思就是表示该项目引用api模式,在3.2.3的model下,你可以看到api、lite、sae三个文件夹,以及同名的三个php文件和一个common.php文件!
api模式设置的区别在api文件夹下的Controller.class.php(API模式控制器基类)中可以很明显看到,他只有近100行代码。
最明显的区别我们可以做一个测试!
你在app项目中display()输出页面!如果你删除对应view下的模版,会报错模版招不到!
但是在api模式下display(),则会告诉你这个方法不存在!
也就是说:我们在使用接口模式的时候,执行效率会比默认的方式要高!
从两个基类的初始化中就可以看出来!默认common会实例化试图$view,而api模式基类只会执行你的实例类中的初始化方法。
另外,大家比较关心的htaccess
RewriteRule ^web(.*)index.php/1 [QSA,PT,L]
RewriteRule ^Interface(.*)interface.php/1 [QSA,PT,L]
呵呵哒!
附带说明:3.2.3的框架里丰富了很多插件,library下面有很多好东西!获取IP,字符串,日期处理,栈,权限,加密,图像等!有些是不用去上网找的,可以去框架里好好看,避免项目组成过重!
ThinkPhp3.2.3 多项目 后台 APP接口设计 框架设计的更多相关文章
- Python3简易接口自动化测试框架设计与实现(中)
目录 7.Excel数据读取 7.1.读取配置文件 7.1.编写Excel操作类 8.用例组装 9.用例运行结果校验 10.运行用例 11 .小结 上一篇:Python3简易接口自动化测试框架设计与实 ...
- Python3简易接口自动化测试框架设计与实现(上)
目录 1.开发环境 2.用到的模块 3.框架设计 3.1.流程 3.2.项目结构 5.日志打印 6.接口请求类封装 接口开发请参考:使用Django开发简单接口:文章增删改查 1.开发环境 操作系统: ...
- 多测师讲解 _接口自动化框架设计_高级讲师肖sir
背景:因为把传入接口参数.组建测试用例.执行测试用例和发送报告,都放入一个.py文件对于接口的使用非常不灵活就需要数据和接口业务进行分离让代码之间的 耦合性降低.和实现接口的分层管理,所以需要对代码进 ...
- python 做接口自动化测试框架设计
1,明确什么叫自动化测试,什么叫接口自动化测试,如何设计接口测试用例,已登录为例 自动化测试:解放人力来自动完成规定的测试. 自动化测试分层模型:UI层,不论WEB端还是移动端,都是基于页面元素的识别 ...
- Android项目中的各个模块框架设计
作为Android开发,现对项目开发中的各个模块搭建,梳理如下: Android UI框架,开发人员需要达到专家级 网络框架 浏览框架 图片加载框架 图片裁剪压缩工具类 客户端并发框架 线程池设计 ( ...
- API接口幂等性框架设计
表单重复提价问题 rpc远程调用时候 发生网络延迟 可能有重试机制 MQ消费者幂等(保证唯一)一样 解决方案: token 令牌 保证唯一的并且是临时的 过一段时间失效 分布式: redis+to ...
- 多测师讲解 _接口自动化框架设计分层思想(001)_高级讲师肖sir
第一层: 第二层:调用接口层 VOQGWBZYNBOAVZGE
- 从接口自动化测试框架设计到开发(二)操作json文件、重构json工具类
用例模板里的请求数据多,看起来很乱,所以可以通过访问另外一个文件的方式获取请求数据 把请求数据都放在一个json文件中 取出login的内容: import json fp = open('G:/un ...
- .net APP接口
编写APP接口首先要搭建测试环境,在实际开发中APP对于大多数公司来说都是选择外包,并不是公司内部人员负责,遇到事情不可能时时进行沟通和交流,也不能写每一个接口都要双方及时确认.个人经历是双方确认AP ...
随机推荐
- Docker 集群管理
docker systemd unit file [Unit] Description=Docker Application Container Engine Documentation=http:/ ...
- js表单计算金额问题
<table width="600" border="1" align="center" style="text-align ...
- 微信小程序 ui框架(辅助)
WeUi: https://weui.io/ https://github.com/weui/weui-wxss/ Wa-Ui: https://github.com/liujians/Wa-UI/w ...
- ionic跳转(一)
在ionic中可以用两个办法写中转链接(写模版地址或路由地址) 1)a 标签的 href <a class="button button-icon icon ion-android-h ...
- 运行 3ds Max 时出现的性能问题
运行 3ds Max 时性能减慢或迟缓通常是由于视频配置冲突或内存分配问题引起的.关于性能问题的一大难点在于缩小范围确定问题原因.以下是一些限制 3ds Max 操作的常见情形,以及纠正这 ...
- Google Inc.:Google APIs:23' 解决方案
在导入一个项目是,出现 Unable to resolve target 'Google Inc.:Google APIs:6'第一种解决方法: compileSdkVersion 23 改成 com ...
- Mysql数据库一个表字段中存了id,并以逗号分隔,id对应的详细信息在另一个表中
有两张表, 一张为爱好表b表 一张为用户表 u表 u表 id 名称 爱好Id 1 张三 1,2,3,4 2 李四 2,5 b表 id 名称 1 打乒乓 2 ...
- python初学总结(二)
(1)字典 字典是一种映射关系:键(key),值(value),key-value对 创建字典的方式:直接创建和利用dict函数创建 >>> aInfo = {'Wangdachui ...
- 使用Sublime Text 3做Python开发
引言 刚转到OS X平台时,寻找写Python,JavaScript,Markdown等文件的工具时,比较了许多工具, 最终选择了Sublime Text 2,主要原因是其跨平台, 想着以后再转到wi ...
- LeetCode——Power of Two
Description: Given an integer, write a function to determine if it is a power of two. public class S ...