美文网首页
PHP基础 —— 引入php文件

PHP基础 —— 引入php文件

作者: WhiteStruggle | 来源:发表于2020-07-18 08:41 被阅读0次

include

语句包含并运行指定文件。

  • 在文件被包含时,其中所包含的代码继承了include所在行的变量范围
  • 调用文件在该行处可用的任意变量在被调用文件中也都可以使用
  • 被包含文件先按参数给出的路径寻找,如果没有给出目录(只有文件名)时则按照 include_path 指定的目录寻找。
//__FILE__ 获取本文件路径
//dirname() 获取文件路径的目录
<?php
    $a = $b =5;
    include dirname(__FILE__)."\\5.php";;
    a();
?>
<?php
    function a(){
        echo "good";
    }
    $c = $a +$b;
    echo $c;//10
?>
<?php
    $a = $b =5;
    include dirname(__FILE__)."\\5.php";
    include dirname(__FILE__)."\\5.php";//报错,然后后面的都没有执行
    a();
?>

include_once

在脚本执行期间包含并运行指定文件

与include类似,唯一区别是如果该文件中已经被包含过,则不会再次包含。

<?php
    $a = $b =5;
    include_once dirname(__FILE__)."\\5.php";
    include_once dirname(__FILE__)."\\5.php";//不会运行
    a();
?>

require

require与include几乎完全一样,但处理失败时不同

  • require会产生致命错误,阻止代码继续执行
  • include只产生警告,代码会继续执行
<?php
    $a = $b =5;
    require dirname(__FILE__)."\\5.php";
    require dirname(__FILE__)."\\5.php";//报错,然后后面的都没有执行
    a();
?>

require_once

require_once与require完全相同,唯一区别是PHP会检查该文件是否已经被包含过,若包含则不会再次包含

<?php
    $a = $b =5;
    require_once dirname(__FILE__)."\\5.php";
    require_once dirname(__FILE__)."\\5.php";
    a();
?>

goto

goto 操作符可以用来跳转到程序中的另一位置。该目标位置可以用目标名称加上冒号来标记,而跳转指令是 goto 之后接上目标位置的标记。

  • PHP 中的 goto 有一定限制,目标位置只能位于同一个文件和作用域,也就是说无法跳出一个函数或类方法,也无法跳入到另一个函数。也无法跳入到任何循环或者 switch 结构中。
  • 可以跳出循环或者 switch,通常的用法是用 goto 代替多层的 break。

declare

declare 结构用来设定一段代码的执行指令。

局部作用域的declare:

<?php
declare(ticks=1) {
    //需要执行的脚本
}
?>

全局declare:

<?php
    declare(ticks=1);
    //需要执行的脚本
?>

register_tick_function()

注册一个函数以在每个刻度上执行

declare(ticks=1) 和 register_tick_function() 通常配合使用,可以实现控制某段代码执行时间

register_tick_function ( callable $function ,[ mixed $arg], [ mixed $... ] ) : bool

$function —— 函数名称为字符串或由对象和方法组成的数组。

成功时返回 true, 或者在失败时返回 false。

register_tick_function('函数名', 函数的参数·····);

unregister_tick_function()

取消注册要在每个刻度上执行的功能

unregister_tick_function ( string $function_name ) : void

function_name —— 函数名称,以字符串形式。

取消注册以function_name命名的函数,以便在调用滴答时不再执行。

使用

  • Tick(时钟周期)是一个在 declare 代码段中解释器每执行 N 条可计时的低级语句就会发生的事件。N 的值是在 declare 中的 directive 部分用 ticks=N 来指定的。

  • 在每个 tick 中出现的事件是由 register_tick_function() 来指定的。

Zend引擎每执行1条低级语句就去执行一次 register_tick_function() 注册的函数。
可以粗略的理解为每执行一句php代码(例如:$num=1;)就去执行下已经注册的tick函数。

<?php
    declare(ticks=1){
        //获取函数开始的时间
        $startTime = time();
        
        function well($startTime){
            //函数执行的时间
            $curTime = time();
            
            //若执行时间从开始到现在,大于5秒节执行if语句
            $times = $curTime - $startTime;
            if(($times) > 5)
            
            {
                // die阻止php运行,因此结束运行
                echo 'game over<br>';
                die("{$times}<br>{$curTime}");
            }
        }
        //使用 register_tick_function()注册函数,传递参数函数 —— 开始时间$startTime
        register_tick_function('well',$startTime);
        
        //while死循环
        while (true) {
            //每次执行,都会延迟一秒
            sleep(1);
            
            //获取当前时间
            $now_time = time();
            
            //输出当前时间
           echo "{$now_time}<br>";
        }
    };
?>


运行结果:
    1587217881
    1587217882
    1587217883
    1587217884
    1587217885
    game over
    6
    1587217886

从结果可以看出,当执行一次简单的语句就会触发 register_tick_function()注册函数

while循环每次输出,都经历了一秒,当经历5秒,执行die结束php脚本的执行

结束语

这些基础,已经可以写出一些优秀的作品,还是 类与对象 的一大块,需要继续的探索,这些都是个人学习记录的笔记,虽然可能不是很全面,希望对在读的你有所帮助!!!

相关文章

  • PHP基础 —— 引入php文件

    include 语句包含并运行指定文件。 在文件被包含时,其中所包含的代码继承了include所在行的变量范围 调...

  • PHP的底层原理

    PHP文件的执行过程 先从一个简单的php文件开始,通过php文件的编译过程来引入php的底层 执行结果如下: 编...

  • php加密代码解密

    php 加密文件解密 加密后的源文件长这个样: 开始解密: 新建一个php文件 如 a.php 在解密文件中引入加...

  • TP框架执行流程分析

    index.php 入口文件 ThinkPHP/ThinkPHP.php定义了许多常量引入核心文件Think.c...

  • PHP文件引入

    4个文件加载的语法形式(注意:不是函数)include, include_once, require, requi...

  • AnugularJS 的跨域

    通过 php 桥接跨域 实际上并非跨域,用 Php 文件引入进来,同源下执行 Php 文件,所以并非跨域 $htt...

  • 01-载入文件的四种方式

    PHP 中引入其他 PHP 文件有四种方式: require require_once include inclu...

  • Laravel 运行原理分析与源码分析,底层看这篇足矣

    一、运行原理概述 laravel 的入口文件 index.php 1、引入自动加载 autoload.php 2、...

  • 07-Ajax

    PHP基础 PHP基础语法大部分和JS差不多 如何运行编写好的PHP文件因为PHP是服务端编程语言,所以要在服务端...

  • linux 配置php环境变量

    1,编辑环境变量文件 2,在文件最后加上引入php运行目录,我的在/usr/local/php/bin 3,保存退...

网友评论

      本文标题:PHP基础 —— 引入php文件

      本文链接:https://www.haomeiwen.com/subject/xwhxkktx.html