内建类
为方便业务开发,Vanilla 提供了一些比较实用的內建方法和变量,这里我们说明如下,随着框架的更新,本页面会及时更新,欢迎随时关注。
Vanilla 的內建变量
Vanilla 的內建变量很多来自于 nginx.conf,其他则来自于 ngx.var
,Vanilla 将这些变量都缓存在了 Registry 中
Registry 变量
Registry 是 Vanilla 中为了全局数据共享,及高效数据访问而封装的一个全局表,这里缓存了刻画当前请求比较全的数据,具体列表说明如下:
注:上面很多全局变量是从 ngx.var.
获取来的结果缓存的,这样避免每次都请求 ngx.var
而减少这部分性能开销,并且其中有些信息比如 APP_NAME
,APP_ROOT
等服务一经启动就不会更改,而像 `REQ_相关的数据则是每次请求都不一样,好在一次请求可能对这部分数据会多次调用,所以将其缓存在
Registry` 表中*
Vanilla 的內建函数
Vanilla 有很多内建的函数,这些函数有些来自于 Vanilla 框架本身功能性的一些 LUA 包中,比如 vanilla.v.controller
、vanilla.v.request
、vanilla.v.response
等,另一些比如通用的方法,比如 print_r
、 page_cache
和 vanilla_init
,再有比如 Vanilla 定义的各种包加载函数,列表如下:
注:以上有些加载器功能重复,目的在于减短所传递参数的长度,比如加载 Index Controller, 使用 LoadController 方法是,只需要写 LoadController('index'), 而如果使用方法 LoadApp 则应该写成
LoadApp('application.controllers.index')`
方法 page_cache
page_cache
该方法调用 Vanilla 封装的页面缓存逻辑,详细内容参见进阶/页缓存
单步调试方法 print_r
、sprint_r
等
print_r
、sprint_r
等调试系列方法主要为了开发时能清晰方便的查看变量状态,记录开发日志等功能,详细内容参见快速上手/如何调试
方法 init_vanilla
init_vanilla
方法 init_vanilla
主要完成框架基础功能的初始化,比如 Registry 的初始化,各种 Loader 的定义,页面缓存的实现等,本方法默认在应用请求处理入口的第一句语句执行
Last updated