Maison  >  Article  >  développement back-end  >  PHP Guide(18)-include-closure-anonymous-PhpStorm

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

黄舟
黄舟original
2017-03-03 09:16:221111parcourir

Développement PHP (18)-include-closure-anonymous-PhpStorm

* Les fonctions anonymes, également appelées fermetures, permettent la création temporaire d'une fonction sans nom spécifié.
* La valeur la plus couramment utilisée comme paramètre de fonction de rappel. Bien entendu, il existe également d’autres applications.
* http://php.net/manual/zh/functions.anonymous.php

* L'instruction include (ou require) obtiendra tout le texte présent dans le spécifié file/code/tags et copié dans le fichier à l'aide des instructions include.
* Les fichiers inclus sont utiles si vous devez référencer le même PHP, HTML ou texte sur plusieurs pages de votre site.
* http://www.w3school.com.cn/php/php_includes.asp

L'exercice d'aujourd'hui contient 4 fichiers, veuillez consulter le code suivant : (Aucune image n'est incluse , le résultat d'impression écrit dans index.php est l'effet réel~)

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>

Ce qui précède est le contenu du développement PHP (18)-include-closure-anonymous-PhpStorm Pour en savoir plus. contenu associé, veuillez suivre le site Web PHP chinois (www.php.cn) !


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn