来源:自学PHP网 时间:2018-02-09 16:45 作者: 阅读:次
[导读] PHP中文网教程为您提供《php入门教程之一周学会PHP》之 php 文件包含函数 章节的在线实战教程供您学习,你可以进行笔记、提问、讨论和资料下载...
在实际开发中,常常需要把程序中的公用代码放到一个文件中,使用这些代码的文件只需要包含这个文件即可。这种方法有助于提高代码的重用性,给代码的编写与维护带来很大的便利。在PHP中, 有require、require_once、include、include- once四种方法包含一个文件。 我们来对比他们的不同:
注意: 我们来做一几个实验: 1,include包含函数的功能。 创建一个functions.php文件,里面写上两个函数: <?php //functions.php文件 function demo(){ echo 'aaaa'; } function test(){ echo 'cccdddd'; } ?> 在functions.php的同级目录下,我再创建一个user.php文件把functions.php文件包含进来。这样我的函数就可以专门放在functions.php里面,哪儿需要用到这些函数的时候,我就从哪儿包含进来: <?php //user.php include 'functions.php'; //可以直接调用 demo(); test(); ?> 我通过过上例我们知道了include的功能。接下来我们对比include和require: 代码中,我们先用include 来包含不存在的test.php文件, <?php //user.php include 'functions.php'; include 'test.php'; //可以直接调用 demo(); test(); ?> 再用require包含 不存在的test.php文件: <?php //user.php include 'functions.php'; require 'test.php'; //可以直接调用 demo(); test(); ?> 通过上例的对比我们发现: 如果test.php文件不存在include 会发出警告继续执行demo()和test()函数。 而requre则直接报错,demo()和test()函数无法继续执行。 我们通过表格知道了:inlcude 和include_once的区别在于,检测是否重复包含。如果重复包含了include_once不会再包含 对应的文件了,而include 则不管这些。有没引入过文件,都再引入一次。 同样刚刚的user.php我们再实验一下,我们将functions.php包含两次,分别使用include和include_once: <?php //user.php //这儿被包含了两次同样的函数定义文件哟 include 'functions.php'; include 'functions.php'; //可以直接调用 demo(); test(); ?> 改为include_once再试一次: <?php <?php //user.php //这儿被包含了两次同样的函数定义文件哟 include_once 'functions.php'; include_once 'functions.php'; //可以直接调用 demo(); test(); ?> 大家分别执行后会发现——include 这次引入functions.php两次的时候报了如下错误: 上图中的提示是说,不能重新定义函数demo()。 我们在函数定义章节讲过,函数不能定义两次,否则会报错。因为我们将 functions.php包含了两次所以执行了两次,因此报这个错误。 而include_once不报错的原因是因为:他检测了functions.php曾经包含过,不再进行包含引入了。 而require和require_once的功能,大家用你最最聪明的小脑袋是不是就能推理出来了呢?require_once有两个特点: 1.包含 的文件必须存在,否则停止执行 2.会做重复包含检查哟 |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com