文章分类: 编程
编程

SQL 性能解析:SQL 索引解析

411 2023-05-07 11:24:00

“索引使查询更快”是我见过的对索引最基础的解释。虽然这句话对索引最重要的一面做了很好的解释,但不幸的是,还不够充分。本文将以不那么粗浅的,也没那么深入细节的方式描述索引结构。它只是为理解SQL性能方面提供了足够视野。索引是数据库中的一个独特的结构,使用 create index 语句创建。它需要自己的硬盘空间,并持有一份索引的表格数据的副本。这意味着索引是纯...

详情...
编程

引入 PHP-CS-Fixer 到老项目中

471 2023-05-05 02:48:00

您正在处理一个遗留的PHP项目,并希望使用 friendsofphp/php-cs-fixer 来强制执行一致的编码标准。但你不确定如何在不造成问题的情况下做到这一点。在您的遗留PHP中引入PHP CS Fixer以降低风险并邀请其他开发人员进行合作,应该采取什么样的策略?要求如果你想在你的遗留PHP项目中成功地引入PHP CS Fixer,你将有以下要求:...

详情...
编程

Symfony VarDumper 组件打印变量

661 2023-05-03 19:58:00

说到调试,Symfony 的 VarDumper 组件带来了革命性变化。它让我们可以用一种简洁高效的方式打印变量。如果你的项目中还没有用到,应该去试一试。本文我们将一起看看怎么样用它来打印对象,使之更具可读性。问题在一个使用Strip...

详情...
编程

探索 PHP 的 First-class callable 语法

529 2023-05-02 10:29:00

查看 Laravel 框架最新的更新时,我发现了一些以前没看到过的语法。

详情...
编程

让代码更具可读性小技巧

424 2023-05-02 09:03:00

你是否维护过他人的项目?一个让你一打开就不寒而栗的项目?即使还未细读代码,你已经知道它一团糟了。可能你也找不出具体问题,不过这些代码就是看起来就很怪异,感觉哪里不对。编写整洁的代码;让你可以在写完一两年后回看还是能感觉修改起来很舒适的代码,是个艺术。这绝对是一个主观的话题——别误会我的意思;但“编写可读的PHP”有很多部分是可以掌握的。首先我们要提的是,一个...

详情...
编程

本地网络测试 Laravel 网站

525 2023-05-01 07:38:00

开发网站时,我们常常会在真实的移动设备上预览查看效果。或者让家人在不使用电脑大动干戈的情况下,帮助预览和测试。本文将介绍一个简单快捷的方法,让你可以使用任何设备在本地网络中查看你的网站。首先,几个带有解决方案的应用程序使用Ngrok是比较常用的一种方法。Ngrok很好看,很神奇,它是一个HTTP/HTTPS隧道,允许任何人预览您在本地机器上的网站,而无需进行...

详情...
编程

如何解决 Laravel 队列 "ModelNotFoundException" 问题

366 2023-04-30 07:06:00

Laravel 因为没有找到相关模型而导致队列任务失败,该怎么办?让我们一起看看队列任务中的 ModelNotFoundExpection 异常有哪些处理方法。Illuminate\Database\Eloquent\ModelNotFoundException: No query results for model [App\Models\User]这是一...

详情...
编程

Laravel 中如何在数据库事务中延迟队列及事件监听器

705 2023-04-29 05:41:00

如果在数据库事务期间触发了队列或监听,可能会因为数据回滚而导致数据不一致。本文将介绍如何妥善处理。Laravel 开发者可能会碰到这么一个问题:在数据库事务期间触发了队列或事件监听。这一问题可能导致 ModelNotFoundException、数据不一致以及其他一些可能影响应用可靠性的问题。本文将说明数据库事务为什么重要、使用时会碰到哪些常见问题以及如何在...

详情...
编程

PostgreSQL: 详解索引 Include 子句

661 2023-04-28 06:51:00

有些数据库 —— 比如 Microsoft SQL Server、IBM Db2 及发行版11之后的PostgreSQL —— 在创建索引语句时都支持 include 子句。PostgreSQL 引入这个特性是促使我发这篇长文解释 include 条件的直接原因。深入细节之前,我们先回顾一些(非聚簇)B-树的索引是如何工作的以及全能的index-only s...

详情...
编程

现代PHP:使用 Sodium 扩展对数据进行加密/解密

1960 2023-04-27 00:32:00

多年来,PHP增加了对几个扩展、库和算法的支持,以加密和解密数据。伴随着几个具有不同维护级别的库和扩展,每个算法都可能有优缺点,有些算法甚至天生不安全,因此很难选择合适的PHP扩展、库和加密结构,并平衡安全性和性能。mcrypt是为PHP带来加密/解密功能的最古老的PHP扩展之一。它不再被维护,并且在PHP 7.2中PHP将它解除了捆绑。OpenSSL是另一...

详情...