发新话题
打印

[原创] extman 0.2.3代码简单分析(1)

本主题由 hzqbbc 于 2007-12-21 23:13 加入精华

extman 0.2.3代码简单分析(1)

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 编辑 ]
开源易有
http://www.yiyou.org/

TOP

回复 #1 fengyong 的帖子

Lang.pm -- 用于处理extman 的语言包,还未认真看该模块。
Mgr.pm --用于处理用户使用什么类型的数据库。
MgrApp.pm --用于MgrApp 目录里模块的父程序,他们是通这里个模块进行调用。这个模块同时也对环境进行处理。
Passwd.pm --取得密码字符串及验证密码方法都在这里。
Session.pm  --用于处理cgi 的会话。
开源易有
http://www.yiyou.org/

TOP

冯老大写的精辟,我支持ing

TOP

fengyong老大介绍的真精辟
I love opensource since I met linux.

TOP

超级牛,不加精不行啊。.. 可惜目前在外省出差,就先回着先吧.
请引用或摘抄本站文章信息的朋友,保留本站链接及作者信息,保护版权,谢谢。

构建高性能大容量开源邮件系统- ExtMail

Postfix在中国官方网站

TOP

难怪,打你的电话老没人接。
开源易有
http://www.yiyou.org/

TOP

TOP

好文,就得收藏。

TOP

謝謝,想要研究 extmail 、extman,但是不熟悉perl ,一直無法深入,現有講解更容易了解。

TOP

引用:
原帖由 hmfjacky 于 2008-3-20 14:26 发表
謝謝,想要研究 extmail 、extman,但是不熟悉perl ,一直無法深入,現有講解更容易了解。
这个讲解只是皮毛,最近按extman 的框架写了一个cgi 的程序。。。
对extman 有进一步的了解了。
开源易有
http://www.yiyou.org/

TOP

少有到这个坛子来,现在看来要经常来看看了。呵呵!老大的讲解真精辟加!加个精!

TOP

太感谢了

太感谢了,Extmail的结构困扰了我很久,不知道从何下手!现在有点眉目了

TOP

支持一下

TOP

支持一下

TOP

发新话题