文章目录[隐藏]
agent
agent类似浏览器的User-Agent,但是在act中的agent是指用于辨别act文件的信息的,具有无标准但是约定俗成的格式,例如:
Agent:ShowsAPP,showsapp 1.0.0 ; ShowsCore,showscore (A Shows), O_ONCE_ACT MR1 MR2 php,PHP,PhP
如上是一段Agent,他包括了如下信息:
- ShowsAPP,showsapp:点明这是一个ShowsAPP项目,其后的逗号后面跟着全小写拼写,是为了某些非标准工具的检索。
- 1.0.0:点名其使用的ShowsAPP版本应为1.0.0
- ShowsCore,showscore (A Shows):点名内核采用ShowsCore,后面括号前要与前面的内容加一个空格,括号内首字母为大写A表明作者,空格后写下作者(全英)。
- O_ONCE_ACT:点明了这是一个o_once_act项目,应该全部大写。
- MR1 MR2 php,PHP,PhP:前面的两个MR点名了应当使用JSON来作为处理文件的方式,后缀的php,PHP,PhP是php的三个常用的拼写,用于表明此文件是针对PHP或要转化为PHP设计的。
为什么要使用Agent?
一般情况下,可以用JSON格式来保存任意的内容(没错就是任意的),但是如果都是JSON格式,就容易造成混淆,于是就开始形成了Agent,目前已有2000+款软件使用agent(据民间统计),最开始的Agent就是mime的形式,如:
Agent = json/appname
但是这样能够表达的内容依然比较少,例如同一软件可能会采用多个框架或者机制处理文件,因此为了表达的更加准确,开创了如下的Agent样式:
Agent = SomeThing,something <others>, [mixed <others>...]
这样软件就可以通过查询他们中是否含有某些字符串,来确定采用何种措施来处理的方式,被统称为Agent Message,简称为Agent。
lang
lang是Agent的续集。Agent的查询方式是检查其中是否含有某些标志性的字符串,然后去选择不同的产品。lang是用于补充agent,为什么要用lang呢?
比如说,我们的产品A中,存在一些小功能a,b,c,他们处理的文件都大体相同,只有一些细微之处不同。或者说是a,b,c完全相同,只是创作者不同;再或者说,产品A需要联网查询agent来解决。
这些都会导致程序设计性能上的缺失,增加了开发的复杂程度。为了解决这一问题,出现了lang。
lang的格式较为标准,不像agent那样混乱,并且描述非常简短:
- molf json:表明这就是一个简单的json文件,不要对其内容进行检查和分析。
- agent json:要求程序通过agent检查处理工具。
- required <appname>:表明程序应该由哪个软件打开,软件名要全部小写。
- locked:表明程序已经被锁定。
- jet <appname> <section>:表明程序应该由什么软件的什么部分打开,全部小写。
- noany:表明程序不应该受到agent的影响。
- only <appname> <section?>:表明程序只应该在什么情况下打开。
上列不仅可以在JSON使用,还可以这样使用:
NOANY <DESV> Obryr care{"HelloWorld"}
这就是一个标准的MerVksn文件。
没有回复内容