Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Entwicklung (18)-include-closure-anonymous-PhpStorm

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

黄舟
黄舟Original
2017-03-03 09:16:221108Durchsuche

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

* Anonyme Funktionen (Anonyme Funktionen), auch Abschlüsse genannt, ermöglichen die vorübergehende Erstellung einer Funktion ohne angegebenen Namen.
* Der am häufigsten als Callback-Funktionsparameter verwendete Wert. Natürlich gibt es auch andere Anwendungen.
* http://php.net/manual/zh/functions.anonymous.php

* Die include- (oder require)-Anweisung ruft den gesamten im angegebenen Text vorhandenen Text ab Datei/Code/Tags erstellt und mithilfe von Include-Anweisungen in die Datei kopiert.
* Enthaltene Dateien sind nützlich, wenn Sie auf mehreren Seiten Ihrer Website auf dasselbe PHP, denselben HTML-Code oder denselben Text verweisen müssen.
* http://www.w3school.com.cn/php/php_includes.asp

Die heutige Übung enthält 4 Dateien. Bitte beachten Sie den folgenden Code: (Ich werde nicht einfügen Das Bild, das in index.php geschriebene Druckergebnis ist der tatsächliche Effekt ~)

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>

Das Obige ist der Inhalt der PHP-Entwicklung (18)-include-closure-anonymous-PhpStorm. Für weitere verwandte Inhalte folgen Sie bitte der chinesischen PHP-Website (www.php.cn)!


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn