Laravel Blade 模板静态分析
你是否曾经发布过 Blade 模板到生产环境,模板中意外缺失了一个变量或者方法有拼写错误。你是否想避免在生产环境中出现模板 bug?那就看看 rector 的作者的 Bladestan,它在 PHPStan 中为 Blade 模板添加了静态分析。
Pest 架构测试插件
随着 PestPHP v2 的发布,现在我们可以测试应用的架构了。本教程将介绍如何使用这一插件。首先在应用的 tests/Feature 目录下创建一个 ArchTest.php 文件。从这里开始,我们可以开始记录我们的架构需求和规则,使我们能够用出色的API和出色的开发体验来测试这些需求和规则。我推荐你添加的一个测试,确保应用中不会留下debug的调用。t...
[Laravel 扩展包] Laravel 模型日期作用域
Laravel Date Scopes 包为 Laravel Eloquent 模型提供了一些有用的查询作用域。受到 Livewire 作者 Caleb Porzio 的启发
Laravel 9 CORS 示例:如何在 Laravel 中启用 CORS
您不能在两个服务器或两个域名之间共享资源吗?好吧,如果你对此感到困惑,那么我们有一个解决方案。本教程将介绍如何在 Laravel 中快速启用 CORS(Cross-Origin Resource Sharing,跨域资源共享)。你可以安装并配置CORS,以消除 CORS header ‘access-control-allow-origin’ 缺失问题。通常...
SQL 性能优化:慢索引-2
前面章节介绍了如何通过修改现有字段的索引顺序获得好处,不过这一示例考量的只有两个 SQL 语句。然而,修改索引可能影响所索引的表的所有查询。本文解释了数据库如何选择索引并演示了修改现有索引可能产生的副作用
SQL性能解析:Where 语句
前文描述了索引的结构,并解释了索引性能不佳的起因。下一步,我们来学习如何在 SQL 语句中发现和避免这些问题。我们从 where 语句开始吧。where 子句定义了 SQL 语句的查询条件,因此属于索引的核心功能领域:快速查找数据。虽然 where 子句在性能上有巨大的影响,语法经常上不太小心而导致数据库不得不扫描索引的很大部分。其结果是:写得不好的wher...
SQL 性能解析:SQL慢索引 -1
尽管有树遍历的效率,还是存在索引搜索不如预期那样快的情况。长期以来,这种矛盾助长了“未生成索引”的神话。这个神话将重建索引作为神奇的解决方案。<神话篇>对这一神话和其他神话做了更详细的描述。目前,您可以理所当然地认为,从长远来看,重建索引并不能提高性能。即使在使用索引时,琐碎语句也可能很慢的真正原因可以在前面的部分的基础上解释。慢索引查询的第一个...
君王好大喜功,后果有多严重?
君王好大喜功,后果很严重——战国初期,魏国是最强大的国家,魏文侯、魏武侯也给魏国留下了厚实家底。然而,王位传到魏惠王,情况就变了。魏惠王不仅在位时间长,还好大喜功,又眼高手低。两大狠人孙膑、商鞅要给他打工,他硬是瞧不上。结果被成为他国重臣的二人几顿暴打,败掉了魏国两代积累的家底。当然,商鞅是狠起来连自己都坑的人,他还定制了坑害国人几千年的帝制“潜规则”,比如...
SQL 性能解析:SQL 索引解析
“索引使查询更快”是我见过的对索引最基础的解释。虽然这句话对索引最重要的一面做了很好的解释,但不幸的是,还不够充分。本文将以不那么粗浅的,也没那么深入细节的方式描述索引结构。它只是为理解SQL性能方面提供了足够视野。索引是数据库中的一个独特的结构,使用 create index 语句创建。它需要自己的硬盘空间,并持有一份索引的表格数据的副本。这意味着索引是纯...
韦伯——思想史上绕不开的里程碑
韦伯是思想史上绕不开的里程碑。他标志着现代思想的成年,因为他完成了两个任务:看清现代,真正理解现代社会运作的底层机制;反思现代,指出现代性最深层的缺陷。为此,先知书店诚挚推荐“读懂马克斯·韦伯系列”:◎对国家的重新定义:韦伯提出了三种正式的政治支配和权威的形式:魅力型权威、传统权威、以及法理型权威,同时他将国家定义为:一个“拥有合法使用暴力的垄断地位”的实体...