>  기사  >  백엔드 개발  >  PHP 개발(18)-include-closure-anonymous-PhpStorm

PHP 개발(18)-include-closure-anonymous-PhpStorm

黄舟
黄舟원래의
2017-03-03 09:16:221035검색

PHP 개발(18)-include-closure-anonymous-PhpStorm

* 클로저라고도 불리는 익명 함수(익명 함수)는 지정된 이름 없이 함수의 임시 생성을 허용합니다.
* 콜백 함수 매개변수로 가장 많이 사용되는 값입니다. 물론 다른 응용 프로그램도 있습니다.
* http://php.net/manual/zh/functions.anonymous.php

* include(또는 require) 문은 지정된 텍스트에 있는 모든 텍스트를 가져옵니다. 파일/코드/태그를 포함하고 include 문을 사용하여 파일에 복사됩니다.
* 포함된 파일은 사이트의 여러 페이지에서 동일한 PHP, HTML 또는 텍스트를 참조해야 하는 경우 유용합니다.
* http://www.w3school.com.cn/php/php_includes.asp

오늘의 연습에는 4개의 파일이 포함되어 있습니다. 다음 코드를 참조하세요. 사진, index.php에 적힌 인쇄 결과가 실제 효과입니다~)

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>

위 내용은 PHP 개발(18)-include-closure-anonymous-PhpStorm의 내용입니다. PHP 중국어 홈페이지(www.php .cn)로!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.