Home  >  Article  >  Backend Development  >  PHP development (18)-include-closure-anonymous-PhpStorm

PHP development (18)-include-closure-anonymous-PhpStorm

黄舟
黄舟Original
2017-03-03 09:16:221109browse

PHP Development (18)-include-closure-anonymous-PhpStorm

* Anonymous functions (Anonymous functions), also called closure functions (closures), allow temporarily creating a function without a specified name.
* The value most commonly used as a callback function (callback) parameter. Of course, there are other applications as well.
* http://php.net/manual/zh/functions.anonymous.php

* The include (or require) statement will get all the text that exists in the specified file/ code/tags and copied into the file using include statements.
* Included files are useful if you need to reference the same PHP, HTML, or text on multiple pages of your site.
* http://www.w3school.com.cn/php/php_includes.asp

Today’s exercise contains 4 files, please see the following code: (I will not paste the picture. , the print result written in index.php is the actual effect~)

index.php:

<?php
    /**
     * include 包含并运行指定文件。
     * include_once 在脚本执行期间包含并运行指定文件。此行为和 include 语句类似,唯一区别是如果该文件中已经被包含过,
     * 则不会再次包含。如同此语句名字暗示的那样,只会包含一次。
     *
     * include_once 因为功能强大,所以执行效率相对低。因此,推荐使用include
     *
     * require 包含并运行指定文件。
     * require_once 跟 include_once 也基本相同。
     * require 和 include 几乎完全一样,除了处理失败的方式不同之外。require 在出错时产生 E_COMPILE_ERROR 级别的错误。
     * 换句话说将导致脚本中止而 include 只产生警告(E_WARNING),脚本会继续运行。
     *
     * 也就是说 include 出问题报提示性警告 ,require 出问题报致命性错误 从而程序崩溃。
     *
     * 或者是说 一定包含的时候用require 不一定包含的时候用include。例:
     *  if ($a == "a"){
     *      include "ceshi.txt";
     *  }else{
     *      include "test.html";
     *  }
     *
     * 匿名函数(Anonymous functions),也叫闭包函数(closures),允许 临时创建一个没有指定名称的函数。
     * 最经常用作回调函数(callback)参数的值。当然,也有其它应用的情况。
     * http://www.php.cn/
     */
    include "function.inc.php";
    include "ceshi.txt"; // 打印结果:ceshiceshiceshiceshiceshiceshi
    include "test.html"; // 打印结果:testtesttesttesttesttesttesttesttesttest
    one(); // 打印结果:111
    two(); // 打印结果:222
    three(); // 打印结果:333
    echo add(10,10,20); // 这里调用的是一个包含的函数 , 打印结果:40
    echo "<br>";
    echo $jianfa(33,22); // 这里调用的是一个包含的闭包函数 , 打印结果:11
    echo "<br>";
    function callFunc($x){ // 这里调用的是一个匿名函数 , 打印结果:匿名函数
        $x("匿名函数");
    };

    callFunc(function($str){
        echo $str;
    });

function.inc.php:

<?php
    function one(){
        echo "111<br>";
    }

    function two(){
        echo "222<br>";
    }

    function three(){
        echo "333<br>";
    }

    function add($a, $b, $c){
        return $a+$b+$c;
    }

    /**
     * 闭包函数 php5.4 新特性 但是不常用 我们一般使用下面的匿名函数写法
     * 一般用于函数回调 callback
     */
    $jianfa = function ($a, $b){
        return $a-$b;
    };

    /**
     * 匿名函数
     */
    //    callFunc(function($str){
    //        echo $str;
    //    });

test.html :

testtesttesttesttesttesttesttesttesttest<br>

ceshi.txt:

ceshiceshiceshiceshiceshiceshi<br>

The above is the content of PHP development (18)-include-closure-anonymous-PhpStorm. For more related content, please pay attention to the PHP Chinese website (www.php .cn)!


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn