Warning: Unexpected character in input: ' in D:\php186\www.php186.com\index.php on line 38
 PHP代码重用方法-WEB开发网
您的位置:网站主页> PHP教程 > PHP代码重用方法

PHP代码重用方法

时间:2015-08-12 09:59:26   编辑:王连龙   文章来源:php教学网 已阅读:3267 次

  PHP代码重用方法

 

        要在脚本中调用文件,PHP提供了几种主要的方式。include()和require()函数是最常用的方式。

  1.Require()函数

 

  使用requier()包含外部文件时,只要php文件被执行,外部文件的内容就将被包含进该php文件,当包含的外部文件发生错误时,系统将给出错误提示,并且停止php文件的执行。

  示例:

  调用文件config.inc的程序代码:

           <?php  echo  "这就是被调用的内容: 您好 ! " ;  ?>

  当前脚本example01.php的程序代码:

          <?php

          echo "代码重用的示例: " ;

          require ( ' config.inc ' ) ;    //调用另外一个文件config.inc,输出config.inc中的内容

          echo "使用require函数实现的." ;  ?>实例位置:mr\sl\04\example01.php

  结果为:代码重用的示例:这就是被调用的内容:您好!使用require函数实现的。

  2.include()函数

  使用include()包含外部文件时,只有php文件执行到include()函数时才将外部文件包含进来,并且当所包含的外部文件发生错误时,系统只给出一个警告,php文件继续向下执行。

  示例:

  调用文件config2.inc的程序代码:

             <?php  echo  " include函数的使用, 非常简单! " ;  ?>

  当前脚本example02.php的程序代码:

        <?php

         echo "代码重用的示例2 : " ;

          include ( ' config2.inc ' ) ;    //调用另外一个文件config2.inc,输出config2.inc中的内容

           echo "<br>" ;

         echo " 使用include函数实现的. " ; 

         ?>

  结果为:代码重用的示例2: include函数的使用,非常简单! 使用include函数实现的。

 

  通过输入要包含文件的完整路径或者相对路径,可以指定明确的路径。

  示例:

  include ('D: \ webpage\ mr\ sl\ 40.php' ) ;

  include (' .. \ sl \ 40.php ' ) ;

  include ( ' 40.php' ) ;

  如果没有指定明确的路径,PHP就在当前目录中查找包含的文件,然后查找php.ini文件中的include_path设置中列出的目录。

 

  php.ini文件中的include_path设置如下:

 

  nclude_path=". : / usr / local / lib / php : home / httpd / globalincs "

  include_path=" . ; C: \php5 " ; UNIX : " / path1: /path2" Windows : " \path1; \ path2"

 

  注意:在设置include_path时,在Unix之下分隔字符使用冒号(:),而Windows下分隔符使用分号(;)。在对include_path设置完成之后,要保存phph.ini文件,重新启动Apache服务器后才有效。

 

  在使用include()和require()两个函数时,要注意一个问题,即一个函数存放在A文件中,A文件的内容在没有通过include(或者require)包含在当前脚本B文件中,那么在当前脚本B文件中执行函数调用是非法的。

  如下面的两段代码所示。

  代码1: 

        <?php 

  //没有通过include直接调用变量$shili

  // 把$shili = include ('sss.inc' ); 放到了后面,结果是什么也没有输出

  echo $shili ;

  $shili = include ( ' sss.inc ' ) ; ?>

  代码2:

       <?php

  $shili = include ( ' sss.inc ' ) ; //先通过include 调用sss.inc文件

  echo $shili ; //取出了东西,输出3.1415926535898

  ?>

  虽然它们只是调换一下顺序,但结果是完全不同的。为了避免这样的问题,切忌在脚本的开头处调用包含文件。

  include()和require()函数都可以实现调用文件的功能,但是它们还是有区别的,在使用require()函数调用文件时,如果没有找到文件,require()函数会输出错误信息,并且立即终止脚本的处理。而include()函数在没有找到文件时只输出警告,不会终止脚本的处理。

  3.require()和include()函数的延伸

  require_once()和include_once()函数是require()和include()的函数延伸,这两个函数的特殊功能是当某个php文件中有多个包含语句,并且这些包含语句都包含同名的外部文件时,该外部文件在整个php页面中只能被包含一次。而使用require()和include()函数调用外部文件时,php页面中有几个包含语句该外部文件就会被调用几次。

 

  为了更好的理解require_once()和include_once()函数,将它们与require()和include()函数进行比较,示例如下。

 

  先建立sss.inc、aaa.inc和ddd.inc3个文件,在sss.inc、aaa.inc中都调用ddd.inc文件。

  Sss.inc文件的代码如下:

         <?php  echo require ( 'ddd.inc' ) ;  ?>

  Aaa.inc文件的代码如下:

         <?php  echo require ( 'ddd.inc' ) ; ?>

  Ddd.inc文件的代码如下:

         <? php  return pi () ;  ?>

 

  我们先使用require()函数进行调用,示例如下:

 

           <?php require ( 'sss.inc' ) ;    //调用sss.inc文件中的内容

          echo "<br>" ;

           require( 'aaa.inc' ) ;   //调用aaa.inc文件中的内容

          echo "<br>" ;    ?>

 

  结果为:3.1415926535898 3.1415926535898

  使用require()函数调用,在当前脚本中,间接的调用了两次ddd.inc文件,就输出了两次结果。

 

  改用require_once()函数来调用ddd.inc文件。如下所示。

 

  Sss.inc文件的代码改为:

        <?php  echo require_once ( 'ddd.inc' ) ;  ?>

  Aaa.inc文件的代码改为:

           <?php  echo require_once ( 'ddd.inc' ) ; ?>

  在当前脚本example03.php中的代码没有做任何的改变,再次运行当前脚本时,输出的结果发生了变化,尽管仍旧是间接的调用了两次ddd.inc文件。

  输出的结果只有一个:3.1415926535898 1

本文地址:http://www.php186.com/content/article/php/26494.html(转载请保留)

相关关键词搜索:PHP代码重用

查看评论更多>>
4楼 liujian 2015-04-21 17:34发表
好网站,值得收藏,以后会多多来看,很多文章内容都挺好的!
3楼 niulang 2015-04-21 17:33发表
不论国外,单是我们中国,各种各样的网站数不胜数。打开页面第一个看到的不是你的网站有什么,而是你的整体布局,一个清爽、干净、整洁的页面是一个赢得人心的法宝,大站有大站的气势,小站有小站的风格,好的视觉效果可以告诉人们这个站点有实力,这个站点值得信赖,给人很强的亲和力,有一种发现新宝地,希望赶紧收藏的冲动。
2楼 leenons 2015-04-21 17:28发表
现在看php学习网都会在百度上面找找看评分怎么样,值不值得一看;同时也会将看过的php教程网站记录,有时候留下一些自己的感想的评论,有很多逗比的评论,还有很多专业的评论,建议大家可以在web开发网上面寻找相关文章、api,大部分的内容都还合理。
1楼 xiaobudian 2015-04-21 17:25发表
网站文章挺不错的,值得学习,希望站长多多努力!
发表评论
      
* 以上用户言论只代表其个人观点,不代表www.php186.com网站的观点或立场
推荐文档更多

WEB开发网 | PHP教程 | Mysql教程 | Apache教程 | 最新文章 | PHP面试题| 网站地图 | Google地图 | Baidu地图 | 在线WEB论坛| 中纪委反腐最新消息

WEB技术QQ交流群:151888886 站长Q号:547218888
版权所有者:WEB开发网 地址:云南省文山州砚山县盘龙乡 滇ICP备12002707号-1
特别声明:本站内容仅供参考,不作为设计及确切依据!想了解更多,可立即进入Bbs提问