技术经验分享:hinkPHP5.0+小程序商城

简介: 技术经验分享:hinkPHP5.0+小程序商城

环境:


TP 5.07


应用项目


核心框架


下载


Composer


git


直接下载


PHP 5.6


PostMan(Fd)


phpstorm(减少鼠标使用率)


快速切换文件 alt + 左右


ctrl + shift + n 查找文件


查找使用过文件(recent files) alt + r


ctrl + shift + f(查找)/r


alt + 1 快速选中代码块


焦点位于文件目录,alt + insert


主题切换 ctrl + ~


F12 类文件跳转


ctrl + alt + o 删除无用空间


插件


Key promoter


AceJump模式后(默认是Ctrl+J),再按任一个字符,插件就会在屏幕中这个字符的所有出现位置都打上标签,你只要再按一下标签的字符,就能把光标移到该位置上。


单元测试(业务代码过长)


Extend Selection ,默认快捷键是Ctrl+W。


XDEBUG(一定要注意配置内容)


不过还是没有一个静态ide key


zend_extension = F:\phpStudy\php\php-7.0.12-nts\ext\php_xdebug-2.5.4-7.0-vc14-nts.dll


【xdebug】


xdebug.remote_enable = off


xdebug.profiler_enable = off


xdebug.profiler_enable_trigger = off


xdebug.profiler_output_name = cachegrind.out.%t.%p


xdebug.profiler_output_dir = "F:/phpStudy/php/tmp"


xdebug.show_local_vars=0


xdebug.idekey=PHPStorm


xdebug.remote_enable = On


xdebug.remote_host=localhost


xdebug.remote_port=9001


xdebug.remote_handler=dbgp


1


2


3


4


5


6


7


8


9


10


11


12


13


14


PATH_INFO URL


多模块与模块命名空间


app\ 是 TP5应用程序,也就是根的命名空间


自动创建命名空间


配置虚拟域名简化URL路径


外部Url


public注意隐私性


-


- 虚拟域名


- Apache服务器重写


路由模式


route.php配置


动态注册


Route::rule('路由表达式','路由地址','请求类型','路由参数(数组)','变量规则(数组)')


1


请求类型


GET


POST


DELETE


PUT



获取请求参数(3种)


Route::get('hello/:id','simple/Test/hello');


然后在方法中接受参数


?name=wangchunlong


1


2


3


通过Request(不区分HTTP请求类型)


$all = Request::instance()->param();


$all = Request::instance()->get();


$all = Request::instance()->route(); 路径中的参数


var_dump($all)


1


2


3


4


助手函数


获取所有参数


input(//代码效果参考:http://www.jhylw.com.cn/183527311.html

'param.')

1


2


依赖注入


业务需求


搭建架构(重要)


独立验证


批量验证batch()


1


验证器(封装性更好)


程序架构


REST


英文:Representational State Transfer,又称具象(表述性)状态传输


一种风格,约束,设计理念


基于资源


(回答的很详细)


REST模式与复杂的SOAP和XML-RPC相比更加简洁


SOAP


SOAP(Simple Object Access Protocol,即简单对象访问协议)是交换数据的一种协议规范,使用在计算机网络Web服务(web service)中,交换带结构信息。SOAP为了简化网页服务器(Web Server)从XML数据库中提取数据时,节省去格式化页面时间,以及不同应用程序之间按照HTTP通信协议,遵从XML格式执行资料互换,使其抽象于语言实现、平台和硬件。


RESTFul API


REST 指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是 RESTful。


使用 RPC 样式架构构建的基于 SOAP 的 Web 服务成为实现 SOA 最常用的方法。RPC 样式的 Web 服务客户端将一个装满数据的信封(包括方法和参数信息)通过 HTTP 发送到服务器。服务器打开信封并使用传入参数执行指定的方法。方法的结果打包到一个信封并作为响应发回客户端。客户端收到响应并打开信封。每个对象都有自己独特的方法以及仅公开一个 URI 的 RPC 样式 Web 服务,URI 表示单个端点。它忽略 HTTP 的大部分特性且仅支持 POST 方法。


通常使用JSON描述数据


无状态


URL定位资源,用HTTP动词(GET,POST,DELETE,DETC)描述操作。


HTTP动词(幕等性,资源安全性)


POST:创建


PUT: 更新


GET:查询


DELETE:删除


200 GET查询成功


201 POST创建成功(有可能包//代码效果参考:http://www.jhylw.com.cn/033336127.html

涵PUT)

202 PUT更新成功(请求发送,但是服务器还没有处理)


404 资源没找到


400 参数错误


401 未授权


403 资源禁止


500 服务器未知错误(服务器原因,未知Bug)


模仿


外部开发


豆瓣API


GitHub开发者API


切勿盲目照搬标准REST


全局异常处理(AOP)


在运行时,动态地将代码切入到类的指定方法、指定位置上的编程思想就是面向切面的编程。


Exception流程


固有的处理异常的思维模式与流程


记录日志状态不要去配置文件config里面去写变量,一般是读取Config::get().


如果要记录变量(数据状态),可以使用数据库或者是Redis,TP5自带缓存,全部变量


调试方法:类名追踪,查看继承关系,F12


HTTPException和Exception不是继承关系


数据库与ORM


ORM


简化代码编写


可以跨数据库


模型和数据访问层是两个不同的概念,模型处理业务,Db查询数据库,模型建立于Db


不要因为模型性能差(慢),放弃模型


高级语言都有性能损耗,框架也有,为什么使用框架?开发周期,效率


使用面向对象设计模型


模型底层还是数据访问层,自动,强化


原生sql语句


$result = Db::query('select from banner_item where banner_id=?',【$id】);


return $result;


1


2


构造器操作数据库


Db数据库操作入口对象(连接,增删改查…)


工厂模式(根据配置文件来选择不同驱动Drivers,进而区分不同数据库)


实例化Collection对象(PDO)


惰性连接,使用时才链接


查询Query(隐藏差异性,差异没有解决,也就是面向对象的封装性)


对CURD的一种封装(创建、更新、读取和删除)


链式操作


Builder(四种不同类型)把query封装语句翻译成原生sql语句,返回给collection,执行


适配不同类型的数据库


Drivers(thinkphp-db-connector)


-


$result = Db::table('banner_item')-

相关文章
|
11天前
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的微信小程序线上教育商城的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的微信小程序线上教育商城的详细设计和实现(源码+lw+部署文档+讲解等)
|
11天前
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的购物商城小程序的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的购物商城小程序的详细设计和实现(源码+lw+部署文档+讲解等)
|
3天前
|
JSON 小程序 JavaScript
技术心得记录:小爱童鞋@你,一起来撸个小程序吧
技术心得记录:小爱童鞋@你,一起来撸个小程序吧
|
3天前
|
XML 小程序 前端开发
技术心得记录:微信小程序开发的基本流程
技术心得记录:微信小程序开发的基本流程
|
3天前
|
移动开发 小程序 前端开发
技术经验解读:一个简单抓取糗事百科糗事的小程序
技术经验解读:一个简单抓取糗事百科糗事的小程序
|
3天前
|
JSON 缓存 小程序
技术笔记:uniapp微信小程序支付
技术笔记:uniapp微信小程序支付
|
3天前
|
小程序 API
技术心得记录:微信小程序之图片频繁变化,几秒之后输出结果(适用于抽奖)
技术心得记录:微信小程序之图片频繁变化,几秒之后输出结果(适用于抽奖)
|
4天前
|
前端开发 小程序 API
技术心得记录:小程序—九宫格心形拼图
技术心得记录:小程序—九宫格心形拼图
|
11天前
|
监控 小程序 前端开发
基础入门-抓包技术&HTTPS协议&WEB&封包监听&网卡模式&APP&小程序
基础入门-抓包技术&HTTPS协议&WEB&封包监听&网卡模式&APP&小程序
|
11天前
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的小程序疫苗预约网站系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的小程序疫苗预约网站系统的详细设计和实现(源码+lw+部署文档+讲解等)