第十节 php语言include和require

Include和Require:include语句包含并运行指定文件,require 和 include 几乎完全一样,除了处理代码执行失败的方式不同之外。require 在出错时产生 E_COMPILE_ERROR 级别的错误。换句话说将导致脚本中止而 include 只产生警告(E_WARNING),脚本会继续运行。

Include和Require-实例演示

第一步:创建2.8_include_and_require文件夹

把上节课scopes.php的代码复制粘贴到includes.php,开始整理html页面布局,在项目的根目录创建inc文件夹(include缩写),我们经常看到inc文件夹,其实就是include的缩写

第二步:在inc文件夹创建header.php文件

把上节课includes.php文件html头部代码复制到header.php里面:

第三步:回到includes.php把inc文件夹的header.php文件引进来

刷新浏览器,所有显示都相同。

细心会发现,title变量为什么在不同的页面使用也能够输出正确的值,我们定义$title变量是全局变量,所以能够全局访问,我们在不同页面中使用它。

让我们访问inc/header.php

Notice: Undefined variable: title in D:\xampp\htdocs\PHPFundamentals2019\inc\header.php on line 16

我们直接访问header.php抛出notice信息,title变量没有定义,这也可以理解的,因为header.php文件没有定义title变量。

includes.php就不同了,我们有定义$title变量,我们也把header.php包括进来,我们可以这样改进header.php,检查header.php是否设置title变量是否存在,如果存在,就输出对应的信息,如果不存在,就输出空:

程式解释:
1、isset()函数:检测变量是否已设置并且非 NULL
2、!isset()不设置的话,$title变量等于空
3、isset()设置的话,输出$title的值

这个处理根据你自己的情况,留还是不留。

在inc文件里面创建footer.php文件,把includes.php的footer的html代码复制到footer.php,在includes.php文件底部html代码复制到footer.php,回到includes.php的底部把inc文件夹的footer.php文件引进来:

整理includes.php,这个文件输出的是$province_name,专门处理$province_name,其它别的东西不需要在这个文件,例如output,pluck,return_name函数不需要,我们把这些不相干的函数放到inc/functions.php,当我们需要的时候调用它:

整理好之后,回到includes.php文件,我们看到pluck和output函数在使用,所以我们必须要把functions.php文件包括到includes.php:

require和include都是一样的,但是require会给我们报错,当我们无法打开具体的文件,抛出fatal错误,php执行不下去,因为找不到需要的文件。这正是require作用,我们需要functions.php的函数,如果找不到,就立刻报错。

Require_once和Require区别

require_once语句和 require 语句完全相同,唯一区别是 PHP 会检查该文件是否已经被包含过,如果是则不会再次包含。例如,我在header.php用require_once把functions.php引入进来:

报错:

Fatal error: Cannot redeclare pluck() (previously declared in D:\xampp\htdocs\PHPFundamentals2019\inc\functions.php:3) in D:\xampp\htdocs\PHPFundamentals2019\inc\functions.php on line 8

上述报错信息告诉我们不能够重复声明pluck(),所以我们在includes.php也改为require_once,输出正确,就在不在需要我们担心到底我们在做什么。

接近10年的互联网从业经验,精通Scrum敏捷软件开发的方法,从事互联网产品设计,开发,测试,运营,案例不少于20个,发现自己最喜欢的工作是做外贸营销,外贸SEO,特别喜欢谷歌优化。从2017年3月开始坚持在群161510483直播谷歌SEO和WEB前端开发技术,只要加进来坚持学习零基础也能够学会。

Last modified: 2019年3月20日

Previous Story

PHP零基础入门

PHP基础:sublime运行PHP

sublime运行PHP:Sublime里直接运行PHP配置方法详细说明,有时候需要用运行一段PHP 代码,比如测试某个函数返回值等等,再打开浏览器显得特别繁琐.

...

Next Story

PHP零基础入门

PHP基础:php格式化字符串

php格式化字符串:学习使用不同的输出方法和储存字符串的变量,printf函数,sprintf函数,sprintf和printf的区别.

...