extman 目录结构
webman.cf --配置文件,此文件能过cgi 程序执行时,取得脚本路径,再能过正则匹配得到此文件,再导入extman中使用。
下面代码展示了如何取得安装目录,并将模块路径加入到perl 搜索的包的路径的变量@INC 中。
复制内容到剪贴板
代码:
BEGIN {
if ($ENV{SCRIPT_FILENAME} =~ m!(.*/)cgi!) {
$DIR = $1;
}else {
$DIR = '../';
}
unshift @INC, $DIR . 'libs';---跟目录---
addon --目录,存放一些升级的sql脚本,图片验证码的字体等。
cgi --所有程序都是从这里开始的。cgi 执行目录,但是这里不是代码的真实存放位置。
docs --文档目录,配置相关的文档。
html --模版等
lang --保存着语言文件,其实可以将他看成perl 的hash 。在程序很简单就可以进行调用,如
$tpl->assign(\%lang);
libs --所有库的存放地点。
tools --一些工具等,如果做二次开发可以参考里面的程序。
---libs 目录-----
下面说说libs 的结构
Crypt --md5crypt 密码加密方法模块。
Ext --运行extman 的主要模块,可以说是Ext 自己本身的模块,除了这个目录其它都是别人的?
HTML --模版驱动
CmdTools.pm --二次开发接口,比较简单,而且没有文档,想开发还得认真看其它代码。
Ext.pm --系统最高层的模块,一切模块都是从这里的new 程序开始,可以算得上整个程序的祖宗了。
---Ext-目录----
Mgr 目录---这里保存着LDAP/MYSQL 的驱动,上层有一个选择性的模块,即,你在使用webman.cf 时,如果使用ldap 就会选择ldap 模块去驱动,ldap.pm/mysql.pm这两个包的子程序名字是一样的。
MgrApp目录--这里是功能子程序的位置,比如index.cgi?__mode=welcome 这里的welcome 功能,就是保存在这个目录的某个文件里。具体会详细介绍。这里所有子程序都是通过上一级模块MgrApp.pm 调用的。大家只需要知道一下就行了。具体将会用例子说明。
CaptCht.pm --图片验证码生成程序。
CGI.pm --cgi 相关的模块,比如取得用户输入的变量等等。
Config.pm --读取webman.cf 的程序,只要你通过use Ext::Config 就可以取得一个叫$SYS_CFG 的hash引用的全局变量。具体可以参考里面的import 子程序。
[
本帖最后由 fengyong 于 2007-12-20 14:18 编辑 ]