技术经验分享: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')-

相关文章
|
1天前
|
移动开发 小程序
thinkphp+uniapp开发的多端商城系统源码/H5/小程序/APP支持DIY模板直播分销
thinkphp+uniapp开发的多端商城系统源码/H5/小程序/APP支持DIY模板直播分销
5 0
|
6月前
|
小程序
跨端技术问题之为什么在微信小程序中静态转义出didUpdate生命周期可靠程度低
跨端技术问题之为什么在微信小程序中静态转义出didUpdate生命周期可靠程度低
|
6月前
|
移动开发 小程序 JavaScript
跨端技术问题之小程序渠道环境的差异带来了什么样的挑战
跨端技术问题之小程序渠道环境的差异带来了什么样的挑战
|
2月前
|
人工智能 小程序 算法
微信小程序地图定位的核心技术与实际应用详解
在移动互联网时代,微信小程序凭借其轻量化和普及性,成为室内地图导航的理想平台。本文探讨了微信小程序在室内定位领域的创新应用,包括蓝牙iBeacon定位、高精度地图构建及AI路径规划等核心技术,及其在购物中心、医院、机场火车站和景区等场景的应用,展示了其为用户带来的高效、智能的导航体验。
148 0
|
3月前
|
小程序 前端开发 JavaScript
微信小程序全栈开发中的PWA技术应用
【10月更文挑战第3天】微信小程序作为新兴应用形态,凭借便捷体验与社交传播能力,成为企业拓展业务的新渠道。本文探讨了微信小程序全栈开发中的PWA技术应用,包括离线访问、后台运行、桌面图标及原生体验等方面,助力开发者提升小程序性能与用户体验。PWA技术在不同平台的兼容性、性能优化及用户体验是实践中需注意的关键点。
86 5
|
3月前
|
小程序 数据可视化 API
低代码可视化-uniapp商城首页小程序-代码生成器
低代码可视化-uniapp商城首页小程序-代码生成器
38 0
|
5月前
|
JSON 小程序 JavaScript
微信小程序制作 购物商城首页 【内包含源码】
这篇文章提供了一个微信小程序购物商城首页的实现方法和源码,包括页面布局、数据结构、核心代码以及如何配置tabBar和搜索框组件。
微信小程序制作 购物商城首页 【内包含源码】
|
3月前
|
小程序 前端开发 数据可视化
微信商城小程序WeiMall
微信商城小程序WeiMall
52 0
|
5月前
|
小程序 前端开发 JavaScript
【电商新机遇】支付宝小程序如何助你打造爆款电商解决方案?揭秘背后的技术奥秘!
【8月更文挑战第27天】本文详细介绍如何利用支付宝小程序构建电商应用,覆盖从项目初始化、页面设计、功能开发到数据分析的全流程。首先,需注册开发者账号并安装相关工具;随后创建项目,并按示例配置基本页面结构;接着设计商品列表等界面布局;再实现商品展示等功能;最后运用支付宝提供的工具进行数据分析,以优化用户体验及营销策略。跟随本教程,您将能打造出一款完整的电商小程序。
112 1
|
5月前
|
小程序 前端开发
微信小程序商城,微信小程序微店 【毕业设计参考项目】
文章推荐了一个微信小程序商城项目作为毕业设计参考,该项目在Github上获得18.2k星,提供了详细的使用教程和前端页面实现,适合学习微信小程序开发和作为毕业设计项目。
微信小程序商城,微信小程序微店 【毕业设计参考项目】

热门文章

最新文章