当前位置: 首页 > 后端技术 > PHP

5天开发界面系统技术总结

时间:2023-03-29 18:56:55 PHP

确定界面系统的详细规划和整体功能后,需要更多的时间打磨技术细节。本课题借鉴了我开发个人网站语力说的经验,梳理了界面系统开发过程中可能遇到的各种技术点。涉及的代码已经整理到https://github.com/yulis-say/...中的api-skills目录下,如果觉得有用,欢迎分享和star。界面开发总结下面依次总结界面系统开发技术要点,包括必要的说明和资源引导。Laravel&DingoAPI使用技能构建接口系统。为了省时省力,本站使用PHP语言编写的Laravel&DingoAPI框架,再整理一下相关经验。管理Laravel项目的有用命令:生成随机字符串:phpartisankey:generate启动开发服务器,然后通过http://localhost:8000地址访问:phpartisanserve优化配置加载:phpartisanconfig:cache优化路由加载:phpartisanroute:cache优化视图加载:phpartisanview:cache开启维护模式:phpartisandown关闭维护模式:phpartisanup一些有用的Laravel扩展包:Laravel-Debugbar:方便查看应用所有信息便于调试。Laravel-Permission:实现RBAC权限管理功能。Laravel-activitylog:自动记录Model的修改,记录用户行为的扩展包。Laravel-CORS:解决前后端应用跨域请求的利器。LaravelExcel:集成Excel表格,实现Excel/CSV等格式文件的导入导出。Laravel-Pay:支付宝和微信支付SDK。JWT(JSONWebToken)规范为基于API的用户认证提供了最佳解决方案,让我们能够在用户和服务器之间传递安全可靠的信息。JWT实际上是一个字符串,由三部分组成:header、payload和signature。使用QQ邮箱发送邮件,需要开通QQ邮箱的SMTP功能。在QQ邮箱启用POP3和SMTP服务,如图:API和JavaScript实现交互整个网站框架的底层其实就是:前端页面+后端支持。前端页面采用HTML/JavaScript/CSS等技术实现。后端支持通过API实现,与数据库、文件系统等进行交互,因此API与Jav??aScript的交互成为连接前后端的桥梁。如果通过fetch()请求API数据,我们可以封装fetch()方便后续调用。例如这样的封装:functionmyfetch(url,options={}){!options.method?(options.method='GET'):null;options.mode='cors';options.headers={'Content-Type':'application/x-www-form-urlencoded'};returnfetch(url,options).then(response=>{returnresponse.json();});}通过HTTP向需要认证的API发送请求,需要在URL中包含token信息,或者设置Authorization授权头:Authorization:Bearer+space+tokenJavaScript读取前端Laravel设置的cookie一直为空?出于安全原因,Laravel框架默认加密存储cookie。如果想让Laravel与JavaScriptcookie进行交互,即让JavaScript直接读取明文,需要做如下配置:将cookie名称添加到AppHttpMiddlewareEncryptCookies的排除列表中:protected$except=['cookie_name',];设置使用cookie时,去掉HttpOnly属性:Cookie::queue('cookie_name','test',$minutes=360,$path=null,$domain=null,$secure=false,$httpOnly=false);使用LaravelMix编译资源,实现CSS和JavaScript的Webpack压缩打包。在运行LaravelMix之前,你需要有Node.js和NPM运行环境。例如执行命令npmrunprod编译app.js和app.scss文件:mix.js('resources/assets/js/app.js','public/js').sass('resources/assets/sass/app.scss','public/css');更多好用网站Laravel:一个优雅的PHPweb开发框架,具有高效、简洁、表现力强等优点。采用MVC设计,是一个崇尚开发效率的全栈框架。是最受关注的PHP框架。网址:https://laravel.com。DingoAPI:一个支持Laravel和Lumen框架的RESTfulAPI开发包。https://github.com/dingo/api。Packagist:主要的Composer存储库,是随Composer安装的公共PHP包的集合。https://packagist.org/。参考链接①Laravel文档②DingoAPI2.0.0中文文档③tymondesigns/jwt-authWiki④使用Fetch-WebAPI接口参考|MDN⑤编译资源(LaravelMix)|前端开发