一点感想
来源:互联网 发布:淘宝主图背景图片素材 编辑:程序博客网 时间:2024/04/20 11:01
看了VTiger这个东东也有几天了(-_-!),由于只需要对软件的部分功能做改进,因此重点针对一个模块进行了阅读,稍微看了一下其它模块,程序的组织结构应该是大同小异的.
做网页相关的东东也不久,呵呵,但是感觉VTiger对网页的转向的处理是比较特殊的,它的所有的页面的转向都是像index.php提交参数,再转向相应模块的.
如下所示:Index.php
----------------------------------------------------------------------------------------------------------------------
if(isset($action) && isset($module))
{
$currentModuleFile = 'modules/'.$module.'/'.$action.'.php';
$currentModule = $module;
}
elseif(isset($module))
{
$currentModule = $module;
$currentModuleFile = $moduleDefaultFile[$currentModule];
}
else {
header("Location: index.php?action=$default_action&module=$default_module");
exit();
}
----------------------------------------------------------------------------------------------------------------------
设计的参数有module,action等
当actoin不为空时,有下面:
----------------------------------------------------------------------------------------------------------------------
>>>>>>>>>$currentModuleFile ='modules/'.$module.'/'.$action.'.php';<<<<<<<<<<<<
>>>>>>>>>$currentModule = $module;<<<<<<<<<<<<
----------------------------------------------------------------------------------------------------------------------
当有对模块操作的动作时,利用以上这种方式将需要转向的模块动作文件:
----------------------------------------------------------------------------------------------------------------------
if ($display == "No")
{
$display == "";
}
else
{
include($currentModuleFile);
}
----------------------------------------------------------------------------------------------------------------------
由于各个模块操作的文件都是包含进来的,因此由PHP的灵活性,在这些模块里就可以直接引用在index.php里头设置的全局变量了
而当action为index时,则直接转向各个模块的index.php文件
----------------------------------------------------------------------------------------------------------------------
foreach ($moduleList as $mod) {
$moduleDefaultFile[$mod] = "modules/".$currentModule."/index.php";
}
----------------------------------------------------------------------------------------------------------------------
而一般的modules文件夹中的主module文件都是定义为该module的基类,其中封装该module涉及的变量和操作方法.
由上文,程序定向的时候直接转向相应的PHP文件,因此操作起来思路非常清晰,也非常方便,但是PHP的灵活性在其中也有演变成复杂的趋势,由于全局变量的使用,因此经常要花很大的功夫来查找全局变量的位置,因此控制全局变量的使用也是VTiger的一个特点吧,个人感觉,只有少数必要的变量,如日志,数据库连接等放在了index.php中
明天开始改代码了,感觉php确实是为动态网页所设计的,希望能触类旁通,更深的理解更多开发方面的理念吧V_V
- 一点感想
- 一点感想
- 一点感想
- 一点感想
- 一点感想
- 一点感想
- 一点感想
- 一点感想
- 一点感想
- 一点感想
- 一点感想
- 一点感想
- 一点感想
- 一点感想
- 一点感想
- 一点感想
- 一点感想
- 一点感想
- C#设计模式之抽象工厂(AbstractFactory)
- 赛格&科技京城
- 程序 1 - 衣服管理
- PHP5:把XML文档加载到DOM对象树中,并进行处理.
- 读写ini文件(C#源码)
- 一点感想
- hibernate+struts编写的BLOG程序
- 设计迷踪:给JAVA设计开发新手的一些建议和意见(转载)
- 层模式
- 该如何去学编程?请不要做浮躁的人
- 一起avi文件播放时没有图像问题的解决(tscc.exe)
- 太久没写了,新项目正忙
- 如何在C++调用Python
- 网络游戏引擎