资讯   |   开发   |   选机中心   |   产品大全 | IBM | 惠普 | 联想 | 戴尔 | 苹果 | 神舟
更多: | 华硕 | 明基 | 方正 | 紫光 | TCL | 夏新 | 联宝 | 宏碁 | 七喜 | 长城 | 清华同方 | 海尔 | 三星 | 东芝 | 索尼 | 富士通 | LG | 技术 | ddnoon
当前位置:笔记本 > 编程开发 >
Advertisement
文章正文

require和include经典一例抛析_编程

类型:转载   责任编辑:asp.net   日期:2007/05/23


热门软件下载:


   
  • Remedy是啥玩意儿? 
  • 编写测试用例有些时候可以采用随机战略 
  • XP的测试用例在函数内部有assert情况下不能反映接口的全部信息 
  • VB函数查询(二) 
  • 浅谈地址映射原理与举例分析 
  • Java开发人员书房必备的图书 
  • 程序结构的7个证明原理 
  • 一个很值得一去的IT图书网站 
  • OO 设计过程6 
  • OO 设计过程3 
  • 页面导航:

    正文内容:
     在php中,include和require的作用比较容易混淆。下面我以一个经典例子来深刻说明它们的区别。
     当我们经常访问一个数据库时,可以把连库语句写成一个文件
    con_db.php3
    <?php
     $dbh = mysql_connect(localhost,,);
     mysql_select_db(admreqs);
    ?>
    在实际应用时,我们可以在程序中调用这个文件。
    如require("con_db.php3")或include("con_db.php3)
    这时,两个函数的效果是差不多的。
    但如果这样用
    filename.php3
    <?php
    require("con_db.php3")
    function myfun($par1,$par2)
    {包含对数据库处理的语句}
    .....
    myfun($par1,$par2);
    .....
    myfun($p1,$p2);
    ?>
    文件到myfun处将不能继续执行,因为函数里无法得到外面的变量(include也是一样的)。除非把$dbh作为一个变量传给函数。这又增加了调用函数的复杂度。
    我们可以通过把require或include放在函数里面来解决这个问题。
    如果用include,文件的第一个函数调用处将顺利通过,但第二个调用将无法执行,原因是不能在没有关闭数据库时在打开一次,也就是说,con_db.php3执行了两次。将include换成require,一切都正常。
     也就是说,require类似于一次预扫描,在程序执行时,无论在函数里或是函数外,都将先把require的文件执行,且只执行一次。而include则是每执行一次就调用一次文件,即这次执行后,下次再执行执行到这里,仍将再执行一次。
     因此,如果在一个循环中,某些语句你只想执行一次,那你用require包括它们就可以了。

     

     
    热门推荐笔记本: 夏新笔记本
    相关文章:
    webmaster:popbb@126.com   最佳浏览:1024X768 MSIE
    ©2007 popbb.net All Rights Reserved