Lua LuCI项目中的功能

Lua LuCI项目中的功能,lua,openwrt,luci,Lua,Openwrt,Luci,下面是LuciWebUI项目中的一个代码块 我不明白这个函数在做什么,也找不到它的调用位置。这个函数在哪里被调用,它在做什么 p = s:option(ListValue, "proto", translate("Protocol")) p.override_values = true p:value("pppoe", "PPPoE") p:value("pptp", "PPTP") function p.write(self, section, value) if valu

下面是LuciWebUI项目中的一个代码块

我不明白这个函数在做什么,也找不到它的调用位置。这个函数在哪里被调用,它在做什么

p = s:option(ListValue, "proto", translate("Protocol"))
p.override_values = true

p:value("pppoe", "PPPoE") 
p:value("pptp",  "PPTP")  

function p.write(self, section, value)
    if value == "pptp" or value == "pppoe" then
        self.map:set(section, "peerdns", "1")
        self.map:set(section, "defaultroute", "1")
    end
    return ListValue.write(self, section, value)
end

我不确定它在哪里被调用,但我从一个网络配置LuCI网页中假设

它以逻辑方式写入UCI网络配置文件,物理写入需要提交

工具书类 搜索x:set 函数p.writeself,section,value正在重写抽象父方法。LuCI是一个MVC,因此当页面自动应用时,Listvalue调用write函数