编程

PHP 8.3 正式发布

697 2023-11-21 16:05:00

PHP 8.3 即将于近日发布。其中涉及多个新特性、变更及特性弃用:新特性-类常量显式类型、新增 json_validate 函数、动态类常量及枚举成员获取、gc_status() 返回额外的 GC 信息

详情...
编程

Laravel 11 正式发布

1138 2023-09-02 14:32:00

Laravel 11 于 2004 年 3 月 12 日正式发布!新特性及改进包括:精简目录结构、不再有 Http/Kernel、模型 casts 更新、新增 Dumpable Trait、配置更改...等等

详情...
编程

Laravel 底层原理 - CSRF

11 7小时前

TokenMismatchException 👋你可能至少遇到过一次这种情况。你复制粘贴了异常,在网上搜索了一下,发现在请求中添加 @csrf 之类的指令或在 header 中引入 X-CSRF-TOKEN 就是修复方法。我们都走过这条路。但你有没有想过,为什么 Laravel 一开始就抛出这个异常?你真的需要在每个请求中发送一个 t...

详情...
编程

PHP 8.4: 新增 http_(get|clear)_last_response_headers 函数

25 1天前

PHP 提供了一个 HTTP 包装器,可以使用标准文件系统函数访问远程 HTTP 内容。例如,file_get_contents() 函数可以获取远程 HTTP 资源以及文件系统上的常规文件。在成功建立远程连接后,HTTP 包装器填充一个名为 $http_response_header 的本地变量。此变量是在局部作用域中填充的,它不是超全局变量。这是一个历史...

详情...
编程

PHP 8.4: 新增 mb_ucfirst 和 mb_lcfirst 函数

34 1天前

PHP 提供 ucfirst 和 lcfirst 函数来更改给定字符串中第一个字符的大小写。mbstring 扩展为 PHP 的大多数标准字符串函数提供了多字节安全函数。然而,在 PHP8.4 之前,mbstring 扩展没有为 ucfirst 和 lcfirst 函数提供多字节安全的对应函数。在 PHP 8.4 中,mbstring 扩展添加了 mb_uc...

详情...
编程

PHP 随机数函数的随机性测试

37 1天前

随机数生成是一个生成无法合理预测的数字的过程。数字序列不应该是可预测的,它在依赖随机数序列的不可预测性的应用程序中发挥着重要作用。“真”随机数生成过程可以包括任何东西,从简单的掷硬币、掷骰子到宇宙辐射测量、大气压、熔岩灯,以及其他取决于几个自然发生的物理方面的物理手段,这使得在计算机上进行预测变得相当困难。大多数现代计算机操作系统试图提供一个接近的“真实”随...

详情...
编程

使用 Laravel Zero 创建 TCP 服务器

34 1天前

几周前,我开始为我的团队 “Securets ISI” 主办的即将到来的年度 CTF 开发 TCP 服务器。目标是使玩家能够使用以下命令快速提交标志:echo "flag" | nc 127.0.0.1 8000对于这项任务,我需要开发一个控制台应用程序。我发现 Laravel Zero 非常适合,而不是像 Laravel 的 DB 和 Views 组件、S...

详情...
编程

"Typed property must not be accessed before initialization" - 引入类型提示遇到的错误

55 3天前

在 PHP 中,当属性的定义使用了类型提示,而在显式赋值前访问该属性时,会碰到 "Typed property must not be accessed before initialization" 错误。通过为该属性提供默认值,或者在类的构造函数中初始化该属性,可以解决这一问题。

详情...
编程

PHP 中间件模式的工作原理及如何使用

57 4天前

在这篇文章中,我们将研究 PHP 中的中间件。这种模式在处理请求和响应时最为常见。但是中间件模式也可以应用于其他各种地方。我们将研究什么是中间件,中间件是如何工作的,中间件何时有用,以及中间件的替代方案是什么。注意: 中间件模式不是“Gang of Four”介绍的模式的一部分,但我个人仍然将其视为一种模式,因为它可以应用于各种情况。什么是中间件呢?PHP ...

详情...
编程

PHP 8.4: Curl: libcurl 最小版本需求增加到 7.61.0

63 5天前

Curl 扩展在 PHP 中公开了 libcurl 功能。虽然可以使用任何支持的 libcurl 版本编译 Curl 扩展,但该扩展需要特定的最低 libcurl 版本。这使得扩展更容易确保某些功能和 API 始终可用。在 PHP 8.4 之前,Curl 扩展要求 libcurl 版本在 7.29.0(2013 年发布)以上。而 PHP 8.4 及其之后的版...

详情...