当前位置: 首页 > news >正文

只用php做网站网站设计怎么保持风格一致

只用php做网站,网站设计怎么保持风格一致,百度SEO网站,排版设计图背景 在做一些自动生成的代码工作时#xff0c;有时需要知道方法以及对应的参数名 如果仅是方法#xff0c;利用反射机制就可以解决 而参数名#xff0c;程序编译后#xff0c;已经丢失 可以通过 AST 事先获取方法的参数名 有了方法、参数名#xff0c;加上反射…背景 在做一些自动生成的代码工作时有时需要知道方法以及对应的参数名 如果仅是方法利用反射机制就可以解决 而参数名程序编译后已经丢失 可以通过 AST 事先获取方法的参数名 有了方法、参数名加上反射那么就可以方便生成胶水代码自动集成进 HTTP 、 gRPC 等 获取方法、参数名的例子 下面的例子从特定包 flagInput 特定的结构体 flagStructName 获取该结构体所有的方法以及对应的参数名 conf : packages.Config{Mode: packages.LoadAllSyntax,Tests: false,}packages, err : packages.Load(conf, flagInput)if err ! nil {fmt.Println(Error loading packages:, err)return}allPackages packagesfor _, pkg : range packages {if pkg.Name ! flagPackageName {continue}for _, info : range pkg.TypesInfo.Defs {if info nil {continue}structType, ok : info.Type().(*types.Named)if !ok {continue}if structType.Obj().Name() ! flagStructName {continue}for i : 0; i structType.NumMethods(); i {method : structType.Method(i)methodName : method.Name()if _, ok : excludeMethods[method.Name()]; ok {continue}sig : method.Type().(*types.Signature)params : make([]string, sig.Params().Len())for i : 0; i sig.Params().Len(); i {params[i] sig.Params().At(i).Name()}allMethods[methodName] paramssortMethods append(sortMethods, methodName)}}}可以把这些信息写入 map 声明这样代码里就有类似反射参数的功能了。类似 var methods map[string][]string{Method1: { userid, playerid, otherparam1, otherparam2 },Method2: { userid, playerid }, }集成 HTTP 服务的例子 如有以下类似模板 register.tmpl func RegisterMethod(engine *gin.Engine) {{{ range .Methods -}}engine.Any(HttpPrefix{{.}}, func(context *gin.Context) { HandleGin(context, {{.}}) }){{ end -}} }通过类似以下代码 tmpl, err : template.ParseFiles(flagTmpl)if err ! nil {panic(err)}var buf bytes.Buffererr tmpl.Execute(buf, map[string]interface{}{Methods: sortMethods})if err ! nil {panic(err)}就可以自动生成到 HTTP 的胶水代码 func RegisterMethod(engine *gin.Engine) {engine.Any(HttpPrefixMethod1, func(context *gin.Context) { HandleGin(context, Method1) })engine.Any(HttpPrefixMethod2, func(context *gin.Context) { HandleGin(context, Method2) }) }例子中的 HandleGin 函数实现则可以: 利用方法及对应的参数信息获取实际参数值利用反射实现对应结构体函数的调用 其他例子 如生成函数的接口调用说明 模板类似 {{ range .Methods -}} {{.Index}}.{{.Comment}} http://api/{{.MethodName}}?{{ range $index, $param : .Params }}{{ if $index }}{{ end }}{{ $param }}0{{ end }} {{ end -}}还是基于上面的获取的方法、参数名的 map 实例信息就可以展开了
http://www.zqtcl.cn/news/72616/

相关文章:

  • 天津 公司网站建设如何注册免费网站域名
  • 找个人给我做电影网站好黑龙江做网站的公司有哪些
  • 懂做网站怎么赚钱莆田市荔城区建设局网站
  • 自己做公众号和小说网站推广网站制作优化排名
  • 网站建设价格与哪些wordpress html5播放优酷
  • 深圳网站建设网络推广公司青柠海报设计网站
  • 海口哪里做网站公司开发前端和后端的区别
  • 河南省建设工程信息网站WordPress最好版本
  • 东川网站建设怎么建立一个文档
  • 北京网站建设兴田德润电话多少企业网站项目的流程
  • 怎么创办网站网站建设目的要求
  • 做网站凡科专业网站建设服务包括哪些
  • 网站开发的论文莱芜
  • 百度商桥代码后网站上怎么不显示网站列表设计
  • 男女做暖暖试看网站怎么在网站添加paypal
  • 响应式网站展示型做空调的网站
  • 如何让百度搜索到自己的网站413 request entity too large wordpress
  • 网站备案接入商名称温州谷歌优化公司
  • 陕西网站开发联系方式国家高新技术企业
  • 全网营销网站微信软文
  • 创办网站要多少钱游戏开发物语破解版
  • 免费主机空间免备案温州做网站优化
  • 深圳做生鲜食材的网站叫什么个人做网站流程
  • 宁波网站推广设计做网站搜索推广点击率太低怎么办
  • 选择好的佛山网站建设竞价
  • a00000网站建设丽丽外贸邦海关数据
  • 自己做的网站被黑了怎么办怎么创造自己的公众号
  • 个人网站支付解决方案WordPress数据消失
  • 多样化的网站建设公司百度指数在线查询工具
  • 网站推广行业赚钱吗库易网网站