1.9PHP语言的语句(Statement)

1.declare语句

declare 结构通过设定指令(directive)以用来控制语句块(statement)的行为。

<?php
//全局范围,影响后面所有代码
declare(directive);

// 这里写完整的脚本

?>
<?php
//局部范围,只影响花括号内的代码
declare(directive) 
{
    // 这里写完整的脚本
}
?>

1.1ticks指令

目前,只支持 ticksencodingstrict_types 这三个指令。

Tick 是一个在 declare 中的语句块(statement)中解释器每执行 N 条可计时的低级语句就会发生的事件。N 的值是在 declare 中的 指令(directive) 用 ticks=N 来指定的。

不是所有语句都可计时,比如条件表达式和参数表达式都不可计时。

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

<?php

declare(ticks=1);

// 每次 tick 事件都会调用该函数
function tick_handler()
{
    echo "tick_handler() called\n";
}

// 引起 tick 事件
register_tick_function('tick_handler'); 

// 引起 tick 事件
$a = 1;

if ($a > 0) {
    // 引起 tick 事件
    $a += 2;
    // 引起 tick 事件
    print($a);
}

?>

//输出
tick_handler() called
tick_handler() called
tick_handler() called
3tick_handler() called

1.2encoding指令

可以用 encoding 指令来对每段脚本指定其编码方式。

<?php
declare(encoding='ISO-8859-1');
// 在这里写代码
?>

1.3strict_types指令

开启严格类型模式。

<?php
declare(strict_types=1);
// 在这里写代码
?>

2.include和include_once语句

include 表达式用于包含并运行指定的文件。因为 include 是一个特殊的语言结构,其参数不需要括号。

//vars.php示例
<?php

$color = 'green';
$fruit = 'apple';

?>

//test.php示例
<?php

echo "A $color $fruit"; // A

include 'vars.php';

echo "A $color $fruit"; // A green apple

?>

先按参数给出的路径寻找,如果没有给出路径(只有文件名)时则按照 include_path选项 指定的路径寻找。如果在 include_path选项 下没找到该文件则 include 最后才在调用脚本文件所在的目录和当前工作目录下寻找。如果最后仍未找到文件则 include 结构会发出一条 E_WARNING 。

include_once 语句和 include 语句类似,唯一区别是如果该文件中已经被包含过,则不会再次包含,也就是说,确保文件被包含一次以避免函数重定义,变量重新赋值等问题,且 include_once 会返回 true

3.require和require_once语句

requireinclude 的区别是,如果最后仍未找到文件则 require 产生 E_COMPILE_ERROR 级别的错误。换句话说将导致脚本中止而 include 只产生警告(E_WARNING),脚本会继续运行。 

require_onceinclude_once 的区别同上。

原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/php/phplang/19907.html

(0)
上一篇 2021年1月8日 01:53
下一篇 2021年1月9日 02:02

相关推荐

  • 1.11PHP语言的异常(Exception)语句

    1.throw语句 2.try-catch语句 3.try-finally语句 4.try-catch-finally语句 如果在 try 或 catch 块中包含 return 语句,finally 块仍将执行。此外,return 语句的返回值会在 finally 块执行后返回。此外,如果 finally 块也包含 …

    PHP语言教程 2021年1月11日
    06680
  • 2.12PHP语言的成员访问控制(Visibility)

    属性、常量、方法等成员的访问控制是通过在前面添加关键字 public(公有)、protected(受保护)或 private(私有) 来实现的。 如果没有为属性、常量、方法等成员添加访问修饰符,则默认可见性为 public。 被定义为 public的类成员可以在任何地方被访问。 被定义为 protected的…

    PHP语言教程 2021年2月12日
    08290
  • 2.9PHP类型之可调用(Callable)

    1.可调用(callable)类型声明 回调函数可以通过 可调用(callable)类型 声明来表示。 2.回调函数 回调函数可以是普通函数、静态方法、实例方法、匿名函数、箭头函数、任何实现了 __invoke() 的类的对象。 3.传递回调函数 回调函数是以字符串类型的函数名称被传递的。 静态方法被作为数组…

    PHP语言教程 2021年2月9日
    02910

发表回复

登录后才能评论