容器模块

E2EE实现了服务器的容器化技术。

什么是容器模块?

容器模块就是您做的整个网站,可以做为别人网站的一部分。

举个例子就是,别人做了一套论坛,您可以直接把他的论坛挂载到您的网站下,设置一个访问路径,别人的网站就成了您的网站一部分。

本章节目录:

  1. 将网站改造成容器模块
  2. 调用容器模块

1. 将网站改造成容器模块

将网站改造成服务模块的流程很简单:

接下来我以一个留言本程序做示例。

1.1 建立返回服务器子程序

建立一个子程序,返回类型为“网站服务器”,返回您的服务器对象。

.版本 2
.子程序 留言本模块, 网站服务器, 公开
返回 (留言本服务器)

1.2 移动订阅函数到子程序下

将所有的订阅函数放到这个子程序下。

.版本 2
.子程序 留言本模块, 网站服务器, 公开
留言本服务器.订阅视图函数 (&留言本_首页, “/”, “/guestbook.esp”, )
留言本服务器.订阅视图函数 (&留言本_添加, “/add”, “/error.esp”, )
留言本服务器.订阅视图函数 (&留言本_删除, “/items/:ID/delete”, “/error.esp”, )
留言本服务器.订阅视图函数 (&留言本_登录页, “/login”, “/login.esp”, )
留言本服务器.订阅视图函数 (&留言本_登录, “/login/do”, “/error.esp”, )
留言本服务器.订阅视图函数 (&留言本_退出登录, “/logout”, , )
返回 (留言本服务器)

1.3 创建初始化函数

创建初始化函数,将需要读取配置或通过配置初始化的操作放在初始化函数中。

.版本 2
.子程序 留言本_初始化
.参数 服务器地址, 整数型
对象映射中心 = 留言本服务器.取对象映射中心 ()

上传目录 = 留言本服务器.取配置项 (“留言本上传目录”)
管理密码 = 留言本服务器.取配置项 (“留言本管理密码”)
显示管理 = 留言本服务器.取配置项 (“留言本显示管理”) ≠ “假”
留言本标题 = 留言本服务器.取配置项 (“留言本标题”)
数据库连接池.创建 (留言本服务器, 留言本服务器.取配置项 (“留言本数据库连接”), 留言本服务器.取配置项 (“留言本数据库类型”), 对象映射中心, )

初始化函数无返回值,只包括一个整数型参数,参数名为“服务器地址”的子程序。

在初始化函数中如果要通过“服务器地址”获得您原始的服务器对象,只需要通过辅助函数就能获取到:

.版本 2
.局部变量 服务器, 网站服务器
服务器 = 取回服务器对象 (服务器地址)

如果您已经将服务器对象放在程序集变量中,那么您可以直接使用原来的的服务器对象。

1.4 订阅初始化函数

在之前返回服务器的子程序中,加入订阅初始化注册您的容器模块初始化函数。

至此容器模块化已经改造完毕,您可能会发现,这里剔除了 服务器.初始化 的操作,没错,在容器模块中服务器初始化的操作,是交给外层容器服务器做的。当服务器启动之前,外层容器服务器会重新定位您的模块网站的目录,将准确的网站目录传递给您的而服务器对象自动进行初始化操作,此时才会触发您订阅的初始化函数。


如果您的容器模块,有自定义的配置等需要附加说明的,建议将您的配置可以附加个“说明文件.txt”在您的容器模块网站目录下。描述清楚您的配置项内容和模块使用说明。

2. 调用容器模块

2.1 添加模块网站目录

将模块的网站目录放到您网站的“模块”目录下。

2.2 在服务器注册容器模块

在您的服务器启动之前加入容器模块注册:

.版本 2
主服务器.加载模块 (留言本模块 (), “留言本”, “/guestbook/”)

其中“留言本”为模块的名称,也就是您添加到“模块”目录中的文件夹名称。

“/guestbook/”为模块在浏览器中访问的相对路径,可以通过 http://127.0.0.1/guestbook/直接访问。

您也可以直接将整个容器模块作为您的整站应用,只需要将访问相对路径改为“/”,那么模块就成了您的整个网站的功能了,通过 http://127.0.0.1/ 直接访问到。