zoukankan      html  css  js  c++  java
  • php 文件包含函数

     

    在实际开发中,常常需要把程序中的公用代码放到一个文件中,使用这些代码的文件只需要包含这个文件即可。这种方法有助于提高代码的重用性,给代码的编写与维护带来很大的便利。在PHP中, 有require、require_once、include、include- once四种方法包含一个文件。

    我们来对比他们的不同:直线电机生产厂家

    函数包含失败特点
    Inlcude 返回一条警告 文件继续向下执行。通常用于动态包含
    Require 一个致命的错 代码就不会继续向下执行。通常包含极为重要的文件,整个代码甭想执行
    Include_once 返回一条警告 除了原有include的功能以外,它还会做once检测,如果文件曾经已经被被包含过,不再包含
    Require_once 一个致命的错 除了原的功能一外,会做一次once检测,防止文件反复被包含

    注意:
    1,少用_once带once,因为它会消耗更多的资源去做检测的工作。
    2,特高级
    Include文件只需要编译一次,因为每次包含include都会再执行一次对应的代码,如何减少include再次执行时,需要重新解析的过程。

    我们来做一几个实验:

    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两次的时候报了如下错误:

    QQ截图20161114112303.png

    上图中的提示是说,不能重新定义函数demo()。

    我们在函数定义章节讲过,函数不能定义两次,否则会报错。因为我们将 functions.php包含了两次所以执行了两次,因此报这个错误。

    而include_once不报错的原因是因为:他检测了functions.php曾经包含过,不再进行包含引入了。

    而require和require_once的功能,大家用你最最聪明的小脑袋是不是就能推理出来了呢?require_once有两个特点:

        1.包含 的文件必须存在,否则停止执行

        2.会做重复包含检查哟

  • 相关阅读:
    基础总结篇之三:Activity的task相关
    基础总结篇之一:Activity生命周期
    基础总结篇之二:Activity的四种launchMode
    SAP_清除默认Action
    FICO_Delete error message
    FICO_无法生成凭证(System status CLSD is active (WBS K/A6020372-205-KCCL))
    FICO_导出8月KOB3报表
    FICO_更改BP
    FICO_月末关帐
    SAP_清除默认导出格式
  • 原文地址:https://www.cnblogs.com/furuihua/p/12068096.html
Copyright © 2011-2022 走看看