一点感想

本文主要分析了VTiger程序的页面转向处理,它通过向index.php提交参数转向相应模块。设计参数有module、action等,各模块操作文件包含进来,可引用index.php全局变量。程序定向清晰方便,但PHP灵活性可能使全局变量查找复杂,控制全局变量使用是其特点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

看了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

好的,我会为您写一篇2000字的学习Python的感想。 学习Python的感想 Python是一种高级编程语言,它具有简单、易读、易学以及可扩展性等特点。Python语言在数据分析、人工智能、Web开发、自动化测试等领域中具有广泛的应用。在我学习Python的过程中,我深深地感受到了这种语言的优秀性,也收获了很多。 首先,Python语言的易学性让我感到非常惊喜。相对于其他编程语言,Python语言具有简单清晰的语法结构,而且一些高级编程语言的特性,如面向对象编程,也在Python中得到了良好的支持。学习Python语言时,我很快就掌握了其基础知识,而且在写代码时也很容易理解和调试。 其次,Python语言的可扩展性也给我留下了深刻的印象。Python语言的强大之处在于其庞大的标准库和第三方库。通过这些库,Python可以实现各种各样的功能,如数据可视化、Web开发、机器学习、深度学习等。而且这些库的使用也很简单,只需安装库并将其导入到代码中即可。 除此之外,Python语言还有一些其他的特点,如开源、跨平台等。这些特点使得Python语言在各个领域中都有广泛的应用,而且也为Python社区的发展提供了良好的基础。 在学习Python的过程中,我也遇到了一些困难。首先,Python语言的缩进规则让我有些陌生。在其他编程语言中,代码块通常由大括号{}或者关键字end等来表示,而Python语言中则是通过缩进来表示。这一点让我在学习过程中有些困惑,但是通过多写代码,我逐渐适应了这种规则。 另外,Python语言的一些高级特性,如装饰器、生成器等,也让我感到有些难以理解。这些特性在一些场景下可以大大提高代码的效率和可读性,但是在我刚开始学习时,我觉得这些内容有些抽象和难以理解。但是通过阅读相关的资料和代码实践,我逐渐理解了这些高级特性的作用和用法。 总的来说,学习Python是一件非常有趣的事情。Python语言的易学性、可扩展性以及其他特点,都让我深深地爱上了这门语言。在学习过程中,我也遇到了一些困难,但是通过不断地学习和实践,我逐渐克服了这些困难,也收获了更多的知识和技能。我相信,在未来的学习和实践中,Python语言也会为我带来更多的惊喜和收获。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值