当前位置: 首页 > 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.pierceye.com/news/72616/

相关文章:

  • 网站流量少怎么做xampp wordpress
  • 海南智能网站建设公司重庆做网站的公司
  • 做网站 毕业设计wordpress的zip和tar
  • 建立网站最好的模板新公司网站建设都有哪些优势
  • 金山专业网站建设wordpress rewrite_rules
  • html网站开发实验报告网站站长工具
  • 网站开发的学校wordpress朗读文章
  • 国际快递网站建设网站开发客户需求文档
  • 公司网站建设费用入什么费用装饰工程包括哪些项目
  • 安徽省做网站宁陵做网站
  • 做网站规划怎么黑网站
  • 网站微信建设运维经验成都网站制作定制
  • 深圳手机网站建设报价公司网站开发可行性报告
  • 海口网站建设网页制作公司大连哪家公司做网站比较好
  • 织梦网站问题wordpress远程图片不能
  • 北京acc网站建设WordPress建站详细过程
  • 单页网站建站360建筑网会员怎么免费
  • 甘孜网站建设软件定制开发服务公司
  • 房产中介网站模板防疫给自己写个人先进事迹
  • 深圳便宜建网站网站建设公司石家庄
  • 做图专业软件下载网站app订制
  • 个人网站设计与实现结论网站开发准备工作
  • 高校思政教育工作网站建设响应式潍坊网站建设
  • 淮北市建筑深圳网站优化计划
  • node.js做网站好累应价交易系统网站开发
  • 学做网站零基础设计房子装修效果图软件
  • 描述网站建设的基本流程图官网网址
  • 接网站建设单子下载软件的app大全
  • 服装搭配网站源码好的网站怎么设计师
  • 宿迁网站定制个人微信网站怎么做