名站网址导航为大驾家提供DedeCMS站点程序站点教程相关的知识,比如织梦程序安装教程,织梦程序系统故障等教程。很多的时候,织梦程序dedecms网站程序是不能满足咱们要求的,比如咱们要增加个织梦程序dedecms网站程序 没有功能,例如,咱们要具体调用分类信息三级联动里面的网站内容,以前咱们要写个系统数据库函数放在/include/extend.func.php里面,然后,在咱们的首页,或其它而面引入comm.inc.php网站文件,即可具体调用这个系统数据库函数,功能就这样实现了,只要会php编程什么功能都可以在织梦程序的基础上扩展。
现在不仅仅有这个extend.func.php网站文件了,织梦程序帮咱们提供了一个叫小助手的功能,从字面意思理解,小助手就是帮助咱们的人助手,没有错,在include/helpers里面有很多的小助手网站文件,只要咱们的以后扩展功能直接在这里建立一个网站文件命名为:起的名字.helper.php,然后再在要具体调用的网站文件里用helper('起的名字')进行初始化,即可具体调用起的名字.helper.php这个网站文件里面的功能了。
一、织梦程序小助手的应用。
举例说明:计算二个数的值。
定义php网站文件名:sum.helper.php,然后在这个网站文件里写上如下计算二个数的相关具体代码如下。
<?php
$a=10;
$b=33;
function sum($a,$b){
return $a $b;
}
?>
如果咱们要在某个网站文件例如网站文件test.php里具体调用这个功能,咱们只需要在这个test.php网站文件里,用helper('sum')进行初始化一下,即可具体调用。
test.php网站文件网站内容如下:
require_once(dirname(__FILE__)."/include/common.inc.php");
helper('sum');
echo sum(32,34);
输入结果是:66。请注意,无论是用织梦程序小助手,还是用extend.func.php进行二次网站开发,都要引入网站文件common.inc.php网站文件。织梦程序小助手的应用就是这样简单。
对比一下用织梦程序小助手和extend.func.php进行二次网站开发的好处。
如果咱们在extend.func.php这个里面进行功能二次网站开发的话,如果是小的功能还好,如果是相关具体代码如下特别多,那么,用这个就有缺点了,想一下如果这个网站文件太多,不仅对于程序员来说感觉乱,在具体调用功能的时候不容易找,而且这样也降低了执行效率,本来一个程序员写好的功能,结果另一个程序员来具体调用那么,找起来就非常不便,浪费时间。
而用小助手,而大大提高了效率,不管有多少个人来写,不管什么样的谁来具体调用,只要找到对应的网站文件名,就可以具体调用,而且,每个功能对应一个网站文件,这样也不至于弄错,而且具体调用也非常方便,只需要初始化一下小助手即可。
二、小助手的实现相关具体代码如下分析。
织梦程序小助手既然如此好,咱们要研究一下,这个小助手是如何实现的?以后,咱们在自己网站开发中也可以把这种思想用到咱们的网站开发中,提高效率。咱们来分析一下小助手是如何实现这样的功能的。
首页要在入口网站文件common.inc.php里面进行初始化(这里的初始化与上面的提到的helper('sum')初始化不一样,这里指的是引入helper.inc.php并根据里面的数组创建程序网站文件)织梦程序小助手,若网站文件helper.inc.php存在,则把里面的数组$cfg_helper_autoload,通过helper($cfg_helper_autoload)初始化(这里跟上面提到的初始化一样),若没有这个网站文件,而用默认的。
相关具体代码如下如下:
小助手是如何初始化的?这是重点。小助手正是通过网站文件common.fuc.php里面下面这段相关具体代码如下,实现了咱们上面举的例子功能。
咱们分析一下上面的相关具体代码如下,
第一句相关具体代码如下$_helpers = array();这句用来设置一种状态,在php里面经常用到,常常是true和fault就像电源开关似的,当程序中某个功能执行成功就设置成true,当某个功能没有执行或某个网站文件不存在等都可设置成fault这样就可以在true或fault时执行不同的功能了,程序中经常用到非常方便。
接下来就开始判断,咱们传的$helpers是不是数组,例如咱们一次网站开发了多个功能,建立了多个类似: 名字.helper.php的多个网站文件,在具体调用初始化helper(数组)时,就需要传数组,程序会判断如果传的是数据,那么进行递归具体调用,当第一个网站文件假设名为abc.helper.php,当foreach完第一个后,进入到递归,再判断一下$dede的值abc是不是数组不是则向下执行相关具体代码如下。
if (isset($_helpers[$helpers]))
{
continue;
}
这段相关具体代码如下判断一下这个网站文件abc.helper.php,是不是存在并引入了?若已经有了了也引入了,那么,回到foreach里面继续遍历,否则接着向下执行,判断一下abc.helper.php网站文件是不是存在,若存在,则引入abc.helper.php网站文件。并把状态$_helpers[$helpers]设置为真,表明这个网站文件$_helpers[$helpers]已经引入了,最后一句判断$_helpers[$helpers]若没有设置,则打印出网站文件abc.helper.php无法装载。
请注意:此时程序并没有完成,只是把数组$helpers里面进行了第一个递归,接着继续foreach,接下来程序执行的动作就跟上面的分析的一样了。这样通过一个递归,就可以把数组里面的代表网站文件名的键全部循环出来,并把对应的网站文件明引入到要具体调用的网站文件里了。
当咱们在要具体调用的网站文件里面用helper($helper)初始化后,就开始运行上面的相关具体代码如下了。作为一个程序员,既要知道是什么,还要知道为什么,本篇网站内容由织梦程序DEDECMS基地作的分析,抛砖引玉,共同进步。
关于DedeCMS站点程序站点教程相关的知识,就说到这里了希望能帮助朋友们。自定义织梦程序cms文章置顶及其功能原理分析