编程

让 Composer 建议将开发包放到 require-dev

1487 2023-10-26 18:03:00

Composer 2.4 添加了一个新特性,使得如果包用作开发工具使,composer require 命令提示使用 --dev 标志安装该包。当传入 --dev 标志时,该包在 composer.json 文件的 require-dev 区域中安装,其他 Composer 命令(比如 composer update,install, dump-autolo...

详情...
编程

PHP 8.3: highlight_file 和 highlight_string 输出 HTML 变更

1294 2023-10-24 16:04:00

PHP 的 highlight_file 和 highlight_string 函数为 PHP 提供了语法高亮支持。他们接受包含 PHP 代码的文件或者字符串,并返回一个带有 PHP 关键词、函数和其他高亮 token 的 HTML 代码片段。语法高亮器的颜色可以通过 PHP INI 指令进行配置。PHP 8.3 对语法高亮器做了一些修改,导致了 HTML ...

详情...
编程

PHP 8.3: 某些 PHP 扩展类中的类常量类型声明

1264 2023-10-23 15:38:00

作为对 PHP 8.3 中支持类常量类型的 PHP 的后续更改,Phar、SNMP 和 Phar 扩展类常量将使用常量类型进行更新。任何扩展以下类并覆盖现有常量的用户空间 PHP 类都将导致致命错误。扩展这些类的用户空间 PHP 类并重写常量的情况并不常见。受影响的扩展:Phar 扩展中的 \Phar 类;SNMP 扩展中的 \SNMP 类;...

详情...
编程

PHP 8.4 预览: phpinfo: 显示 PHP 整型大小信息

1552 2023-10-22 15:22:00

PHP 8.4 这种 phpinfo() 输出会显示当前 PHP 安装所支持的整型位数(bit)大小。整型大小也包含在 PHP CLI 输出中: Zend Extension => 420230901 Zend Extension Build => API420230901,TS,VS16 PHP Extension Build =>...

详情...
编程

PHP 8.3: 类常量显式类型

1529 2023-10-20 15:18:00

PHP 8.3 及之后的版本支持对 PHP 类常量进行类型声明。这样可以在子类和接口实现重写常量时,保证常量的类型兼容。PHP 8.3 之前,无法以编程方式强制执行类型兼容性。在 PHP 8.3 及其之后,类常量可以在 const 关键词之后声明类型:class Test { const string TEST_CONSTANT = 'test'; ...

详情...
编程

OpenCart 4 的事件系统

1711 2023-10-18 19:38:00

OpenCart 4.0 有一个事件系统,允许你在代码执行的特定时刻执行特定操作。这允许你在不修改源码的情况下,扩展 OpenCart 的功能。当特定事件发生时,事件系统为该事件调用所有注册的句柄。每个句柄可以有自己的代码去处理事件。OpenCart 有一些内置事件,像 “catalog/view/common/header/before”,“catalog...

详情...
编程

桌面和移动端 User Agent 解析器

1268 2023-10-17 23:23:00

Jenssegers-agent 包是一个支持 Laravel 的桌面端/移动端 User Agent 解析器,基于 MobileDetect。你可以在任何 PHP 应用中使用这些包,并且它也提供了 Laravel 服务提供者,提供了服务 Facade:

详情...
编程

Vite 插件 —— 在 Laravel 中使用 Purgecss

1734 2023-10-15 01:20:00

这是一个 Vite 插件,集成了 PurgeCSS 和 Laravel 10/9 模板资源。该插件会只在生产模式下对资源进行清理 (yarn build/npm run build)。安装yarnyarn add -D @erbelion/vite-plugin-laravel-purgecssnpmnpm i -D @erbelion/vite...

详情...
编程

Laravel Folio —— 基于页面的路由系统

2048 2023-10-14 09:50:00

Laravel Folio 是一个 LaraconUS 2023 引入 Laravel 的基于页面的路由系统。使用 Laravel Folio 可以将路由轻松匹配到一个指定文件或路由,类似于 NextJS 或者 NuxtJS 这些框架基于文件路由的系统。工作原理将 Folio 安装到应用之后,你可以使用如下命令创建一个新页面:php artisan ...

详情...
编程

MySQL深入:B+树的演化和操作

1719 2023-10-13 20:01:00

1. 二叉查找树在二叉查找树中,左子树的键值总是小于根的键值,右子树的键值总是大于根的键值,因此可以通过中序遍历得到键值的排序输出。对上图进行中序遍历(左-根-右)后输出:2、3、5、6、7、8对图9-5的这棵二叉树进行查找,如查找键值为5的记录,先找到根,其键值是6,6大于5,因此查找6的左子树,找到3;而5大于3,再找右子树……一共找了3次。如果按2、3...

详情...