找到 34423 篇文章 关于编程

PHP 命名空间关键字和 __NAMESPACE__ 常量

Malhar Lathkar
更新于 2020年9月18日 09:19:17

342 次浏览

简介在 PHP 中,命名空间关键字用于定义命名空间。它也用作运算符,用于请求访问当前命名空间中的某些元素。__NAMESPACE__ 常量返回当前命名空间的名称。__NAMESPACE__ 常量在命名命名空间中,__NAMESPACE__ 返回其名称;对于全局和未命名命名空间,它返回空字符串。示例 在线演示 #test1.php 输出返回空字符串全局命名空间的名称:对于命名命名空间,返回其名称。示例 在线演示输出当前命名空间的名称:myspace动态名称构造__NAMESPACE__ 用于动态构造名称。示例 在线演示

PHP 生成器。

Malhar Lathkar
更新于 2020年9月18日 09:15:49

3K+ 次浏览

简介使用 foreach 等循环结构遍历大型数据集需要大量的内存和相当的处理时间。使用生成器,可以在没有这些开销的情况下迭代数据集。生成器函数类似于普通函数。但是,函数中不使用 return 语句,生成器使用 yield 关键字重复执行,以便它提供要迭代的值。yield 关键字是生成器机制的核心。尽管其用法看起来类似于 return,但它不会停止函数的执行。它提供下一个迭代值并暂停…… 阅读更多

PHP 生成器与迭代器对象

Malhar Lathkar
更新于 2020年9月18日 09:12:48

477 次浏览

简介调用生成器函数时,内部会返回 Generator 类的一个新对象。它实现了 Iterator 接口。迭代器接口定义了以下抽象方法Iterator::current — 返回当前元素Iterator::key — 返回当前元素的键Iterator::next — 向前移动到下一个元素Iterator::rewind — 将迭代器倒回到第一个元素Iterator::valid — 检查当前位置是否有效生成器充当仅向前迭代器对象的作用,并提供可调用的方法来操作生成器的状态,包括向其发送值和从中返回值。生成器作为迭代器在下面的示例中,生成器函数会生成文件中的行…… 阅读更多

PHP 抛出异常

Malhar Lathkar
更新于 2020年9月18日 09:10:58

281 次浏览

简介Throwable 接口由 Error 和 Exception 类实现。所有预定义的 Error 类都继承自 Error 类。相应 Error 类的实例在 try 块内抛出,并在相应的 catch 块内处理。抛出 Error正常执行(当 try 块中没有抛出异常时)将在定义的最后一个 catch 块之后继续。示例 在线演示输出显示以下输出2 捕获异常:除以零。执行继续在下面的示例中,由于没有向其传递适当的参数,所以在执行函数时会抛出 TypeError。显示相应的错误消息。示例 在线演示输出显示以下输出参数 2 传递给 add() 必须是…… 阅读更多

PHP 嵌套异常

Malhar Lathkar
更新于 2020年9月18日 09:04:43

518 次浏览

简介try-catch 块可以嵌套到任何所需的级别。异常将按出现的反序处理,即首先处理最内层的异常处理。示例在下面的示例中,内部 try 块检查两个变量中的任何一个是否是非数字,如果是,则抛出用户定义的异常。外部 try 块如果分母为 0,则抛出 DivisionByZeroError。否则,显示两个数字的除法结果。示例 在线演示输出显示以下输出第 19 行除以 0将任何一个变量更改为非数字值第 20 行错误:非数字数据如果两个变量都是数字,则打印它们的除法结果

PHP 使用多个 catch 块进行异常处理

Malhar Lathkar
更新于 2020年9月18日 09:00:52

1K+ 次浏览

简介PHP 允许在 try 块之后使用一系列 catch 块来处理不同的异常情况。可以使用各种 catch 块来处理预定义的异常和错误以及用户定义的异常。示例下面的示例使用 catch 块来处理 DivisioByZeroError、TypeError、ArgumentCountError 和 InvalidArgumentException 条件。还有一个 catch 块用于处理一般的 Exception。示例 在线演示输出首先,由于分母为 0,因此将显示“除以 0”错误除以 0将 $b 设置为 3,这将导致 TypeError,因为 divide 函数预期返回整数,但除法结果为浮点数divide() 的返回值必须是整数类型,浮点数…… 阅读更多

PHP7 中的 PHP 错误

Malhar Lathkar
更新于 2020年9月18日 08:57:16

301 次浏览

简介在 7 版之前,PHP 解析器用于响应各种条件报告错误。每个错误都具有某种预定义的类型。PHP7 改变了错误报告的机制。现在,大多数错误都是通过抛出错误异常来报告的,而不是传统的错误报告。如果错误异常未处理,则会报告致命错误,并将像传统的错误条件一样进行处理。PHP 的错误层次结构从 Throwable 接口开始。所有预定义的错误,如 ArithmeticError、AssertionError、CompileError 和 TypeError,都是实现 Throwable 接口的类。PHP 7 中的 Exception 也实现了 Throwable 接口。Throwable 接口充当…… 阅读更多

PHP finally 和 return 之间的交互

Malhar Lathkar
更新于 2020年9月18日 08:47:10

1K+ 次浏览

简介当 try 块或 catch 块(或两者)包含 return 语句时,finally 块的行为很特殊。通常,return 语句会导致程序控制返回到调用位置。但是,对于具有 try/catch 块和 return 语句的函数,finally 块中的语句会在返回之前首先执行。示例在下面的示例中,div() 函数具有 try-catch-finally 结构。try 块在没有异常的情况下返回除法的结果。如果发生异常,catch 块返回错误消息。但是,无论哪种情况,finally 块中的语句都会首先执行。示例 在线演示输出显示以下输出此块…… 阅读更多

PHP 使用 finally 进行异常处理

Malhar Lathkar
更新于 2020年9月18日 08:45:23

403 次浏览

简介finally 块中的代码将始终执行,无论 try 块中是否有异常。此块出现在 catch 块之后或代替 catch 块。catch 和 finally 块在下面的示例中,都提供了 catch 和 finally 块。如果 try 块中发生异常,则执行两者的代码。如果没有异常,则只执行 finally 块。示例 在线演示输出显示以下输出捕获异常:除以零。此块始终执行执行继续更改 try 块中的语句,以便不会发生异常示例 在线演示输出显示以下输出2 此块始终执行执行继续仅 finally 块…… 阅读更多

PHP 扩展异常

Malhar Lathkar
更新于 2020年9月18日 08:42:05

805 次浏览

简介Exception 类实现 Throwable 接口,并且是所有 Exception 类的基类,包括预定义的异常和用户定义的异常。Exception 类定义了一些 final(不可重写)方法来实现 Throwable 接口中的那些方法,以及 __tostring() 方法,该方法可以被重写以返回 Exception 对象的字符串表示形式。final public function getMessage()异常消息final public function getCode()异常代码final public function getFile()源文件名final public function getLine()源行号final public function getTrace()回溯() 的数组final public function getPrevious()之前的异常final public function getTraceAsString()格式化的跟踪字符串public function __toString()用于显示的格式化字符串如果用户定义的异常类重新定义了构造函数,则它应该调用 parent::__construct() 以确保…… 阅读更多

广告
© . All rights reserved.