深入掌握include_once与require_once的区别

yipeiwu_com6年前PHP代码库
①作用及用法

  可以减少代码的重复

  include(_once)("文件的路径")与require(_once)("文件的路径")

②理解

  说白了,就是用包含进来的文件中的内容 代替 include(_once),require(_once)那一行

③注意  

  include/require 包含进来的文件必须要加<?php ?>因为在包含时,首先理解文件内容是普通字符串,碰到<?php ?> 标签时,才去解释

④路径

  可以用绝对路径,也可以用相对路径;windows下正反斜线都可以,linux下只认正斜线,所以最好用正斜线

⑤区别

  include是包含的意思,找不到文件时,会报warning的错误,然后程序继续往下执行

  require是必须的意思,找不到文件时,会报fatal error (致命错误),程序停止往下执行

  加once后,系统会进行判断,如果已经包含,则不会再包含第二次

    eg:有一个a.php文件 内容是<?php $a++ ;?>

      在b.php文件中的内容是 $a=5; require_once("a.php"); echo $a; require_once("a.php"); echo $a;

      结果第一处输出的是6, 第二处输出的还是6,说明。。_once只包含一次 ,如果不加once,则第二处输出的会是7

⑥取舍

  比如是系统配置,缺少了,网站不让运行,自然用require,如果是某一段统计程序,少了,对网站只是少统计人数罢了,不是必须要的,可以用include

  而加不加once是效率上的区别,加上once,虽然系统帮你考虑了只加载一次,但系统的判断会是效率降低,因此,更应该在开发之初,就把目录结构调整好,尽量不要用_once的情况。

⑦特殊用法

  利用include/require返回被包含页面的返回值

    a.php页面中: ..... return $value; b.php页面中:$v = include("a.php");
<!--[endif]-->

这个用法在做网站配置的时候会偶尔碰到!

相关文章

PHP基于简单递归函数求一个数阶乘的方法示例

PHP基于简单递归函数求一个数阶乘的方法示例

本文实例讲述了PHP基于简单递归函数求一个数阶乘的方法。分享给大家供大家参考,具体如下: 一、问题: 求一个数a的阶乘,那么,a!=a*(a-1)*(a-2)*(a-3)*……*2*1....

hadoop中一些常用的命令介绍

假设Hadoop的安装目录HADOOP_HOME为/home/admin/hadoop。启动与关闭启动Hadoop1.进入HADOOP_HOME目录。2.执行sh bin/start-a...

php 无法加载mcrypt.dll的解决办法

1.php.ini里面查找extension=php_mcrypt.dll,去掉前面的分号”;” ,重启apache.无效(注意:在AppServ中php.ini在dinwos目录下)...

关于shopex同步ucenter的redirect问题,导致script不运行

首先此问题来自向这个帖子 http://hi.baidu.com/fire_love_live/item/247276cfda421217b67a24c7 需要说明的是,并非15处需要修...

PHP中读取照片exif信息的方法

PHP中读取照片exif信息的方法

先来了解什么是图片的Exif信息 Exif是一种图象文件格式,它的数据存储与JPEG格式是完全相同的。实际上Exif格式就是在JPEG格式头部插入了数码照片的信息,包括拍摄时的光圈、快门...