包含文件在 PHP 手册中是属于流程控制中的内容,它一共包括 include、include_once、require、require_once 等几个语法。 包含文件的主要作用就是能够在一个 PHP 文件中调用另一个 PHP 文件中的类。 include 与 include_once 代码 1(就是上一节《魔术方法》中的内容),保存文件名为 class.php: <?php class name{ public $s1 = 0; public $s2 = 1; public function __construct( $a, $b ){ $this->s1 = $a; $this->s2 = $b; } public function s1(){ $this->s2(); } public function s2(){ echo $this->s1; } } $name = new name( 'a', 'b' ); $name->s1(); ?> 代码 2,保存文件名为 text.php: <?php include('class.php'); var_dump( new name(1,2) ); ?> 注意这里我们需要把两个文件保存在同一个目录下(以后我们会讲如果不在同一个目录该怎么调用)。 浏览器输出: 其实这跟 HTML 中如何引用外部的 CSS 或 JS 文件有点类似。 我们也可以理解为就是引用外部的 PHP 文件。 include_once 跟 include 唯一的区别就是 include 不能重复重复加载。 once 的意思就是一次,表示无论加载多少次都只会执行一次。如: <?php include_once('class.php'); include_once('class.php'); include_once('class.php'); var_dump( new name(1,2) ); ?>
require 与 require_once require 和 include 几乎完全一样,除了处理失败的方式不同之外。 require 在出错时产生 E_COMPILE_ERROR 级别的错误。
<?php require('class1.php'); echo 123; exit; //这个是用来截停的,其实如果不加的话在这里的效果还是一样的 var_dump( new name(1,2) ); ?> PS:上面的 class.php 中间加了个 1 变成了 class1.php。也就是说这个文件名是不存在的。 浏览器输出: 可以看到浏览器报错了,而且没有再输出任何值。 可是如果换成 include 的话: <?php include('class1.php'); echo 123; exit; var_dump( new name(1,2) ); ?> 浏览器虽然也报错了,还还是会输出: 所以,其实我们只需要用到 include 一种语法就可以了。 其它几种语法几乎可以算是多余的。 更多分享 三小时学会 HTML 网页编辑 三小时学会 CSS 网页美化 PHP 网站开发 效率工具 小众电影 小程序开发 |
|