文章分类: 编程
编程

[Laravel 扩展包]Laravel Slower——使用 AI 优化 Eloquent 查询

745 2024-05-21 04:13:00

Laravel Slower 包是为那些希望提高应用程序性能的Laravel开发人员设计的。此包识别慢速查询,并建议进行优化,如索引和其他改进。取决于你如何配置应用调度程序,你可以每天运行以下命令来分析和清理旧记录:php artisan slower:clean /*{days=15} Delete records older than 15 days....

详情...
编程

什么是 “N+1 Select 查询问题”?

907 2024-05-20 03:06:00

本文将研究 ORM 框架中的 N+1 查询问题。我们将从问题的概念性概述开始。还将讨论理论上可能的解决方案以及如何在实践中实现这些解决方案。让我们从头开始,了解我们为什么会遇到这个问题。我们知道 ORM 可以解决将堆中的实体映射到关系数据库中的 schema 对象问题。在关系数据库中,我们可以有外键,它表示对外键表的引用。它允许我们在 R...

详情...
编程

线性流程 vs. 迭代流程

799 2024-05-19 04:41:00

线性和迭代流程代表了软件开发中的两种核心方法,每种方法都有自己的一套原则和应用程序。本文中,我们将探讨线性流程和迭代流程之间的基本区别,这是软件开发中的两种关键方法。我们还将研究它们的独特特性和优势,并考虑何时使用每种方法来最好地管理我们的软件项目。线性流程,传统上被称为瀑布模型,代表了项目管理和软件开发的一种直接方法。这种方法的特点是通...

详情...
编程

Laravel 中将 CSV 文件作为集合读取

709 2024-05-19 01:32:00

大型项经常需要在某个时刻从大型 CSV 文件导入数据。如果处理不当,很可能会导致内存问题。值得庆幸的是,您可以使用League 的 CS V包 方便地读取 CSV 文件,并将其作为 Laravel 的集合进行迭代。尤其是使用惰性集合。通过这种方式,可以将 CSV 文件作为集合读取,而无需将整个文件加载到内存中。首先,请使用 Composer 安装 leagu...

详情...
编程

PHP 8.4: OpenSSL: OpenSSL 版本最低要求提升到 1.1.1

852 2024-05-18 06:08:00

PHP OpenSSL 扩展为 PHP 提供了加密、身份验证、密钥交换、密码哈希和通用哈希功能。OpenSSL 扩展使用 OpenSSL 库来提供此功能。在 PHP 8.4 及更高版本上,构建 OpenSSL 扩展的最低要求从 1.0.1 增加到 1.1.1。该扩展也继续与 OpenSSL 兼容。请注意,OpenSSL 1.1.1(2018 年 9 月发布)...

详情...
编程

[Laravel 扩展包]DirectoryTree Authorization:Laravel 的原生角色和权限管理包

707 2024-05-17 02:22:00

Steve Bauman 的 DirectoryTree Authorization 包是 Laravel 的一个简单的原生角色和权限管理系统。它使用 Laravel 的 Gate 和开箱即用的授权方法,并提供以下轻量级 API 来管理角色和权限:use DirectoryTree\Authorization\Permission; use Directo...

详情...
编程

在带有 MingleJS 的 Livewire 应用中使用 Vue 或 React 组件

552 2024-05-15 04:08:00

MingleJS 可用于在 Livewire 组件或 Filament 应用中使用 Vue 和 React 组件。该包由 Joao Patricio 创建,对于在登录页及你想使用 Vue 或 React 的复杂组件很有用。它也可以作为一种增量方式,在 Vue 或 React 生态系统中使用用 Livewire 或使用第三方组件。MingleJS Demo 组...

详情...
编程

属性钩子在 PHP 8.4 中越来越接近现实

653 2024-05-14 00:50:00

属性钩子(Property Hooks)的 RFC 通过了一个重要的里程碑,获得了压倒性的 34 张赞成票和 1 张反对票。这远远高于通过所需的 ⅔ 多数票。PHP 中的属性钩子是什么?以下是 RFC 的提案摘要:开发人员经常使用方法来包装和保护对对象属性的访问。对于这种逻辑,有几种非常常见的模式,在实践中,重复实现这些模式可能很繁琐。或者,开发人员可以使用...

详情...
编程

[Laravel 扩展包]Moonshine:一个基于 Laravel 的后台管理面板

781 2024-05-13 01:11:00

Moonshine 是 Laravel 的一个开源软件包,提供了一个管理面板,你可以可以用于 MVP、后台应用程序和内容管理系统。你可以在几分钟内制作一个具有授权和 CRUD 的管理面板。Moonshine Demo AdminMoonshine 是一个使用包的 CMS 功能进行快速开发的工具,以及使用熟悉的工具(如 Blade、Livewire 和 Alp...

详情...
编程

在 Windows 上安装 OpenJDK

1687 2024-05-12 01:01:00

Java 在现代软件开发中发挥着关键作用,为许多应用和系统提供了强大的功能。为了在我们的机器上利用 Java 的强大功能,我们需要安装 Java 开发工具包(JDK)。虽然 Oracle JDK 是一个受欢迎的选择,但 OpenJDK 提供了一个具有类似功能的开源替代方案。本文中,我们将探索在 Windows 环境中安装 OpenJDK 的各种方法...

详情...