首页
最新

理解并解决数据库中的N+1问题(PHP实例)

N+1问题是一个指在数据库中发送大量的SQL查询,从而增加负载并导致性能下降的问题。当你使用框架进行开发时,你有没有意识到你可能无意中发送了大量的SQL查询? 更具体地说,N+1问题是指在一个过程中,首先通过一个查询获取父数据,然后获取子数据,每获取一个子数据都会生成一个额外的查询,这种状态不断重复。这就是所谓的N+1问题。
发布于 2024-5-11 下午2:29 阅读数 1121

使用 Laravel 11 实现一个简单的 RESTful API

前言 虽然一般情况下我们通常需要进行验证和异常处理,但是这次主要是介绍API的实施步骤,所以其他的简单介绍一下就过了。 创建Laravel项目 使用 Composer 命令安装 Laravel 10。 composer create-project --prefer-dist laravel/laravel projectName 其中,projectName是你的项目名称 设置API php artisan install:api 快速创建
发布于 2024-5-10 下午3:11 阅读数 1262

在Laravel 10中使用Laravel UI+Vue3包进行认证设置

创建Laravel项目 使用 Composer 命令安装 Laravel 10。 composer create-project --prefer-dist laravel/laravel laravel_auth 安装和配置 Lravel UI composer require laravel/ui 如果选择了bootstrap 需要执行php artisan ui命令来创建用于认证的脚手架(如认证页面、登录页面等)。 如果你想使用Vue.js或React,你可以指定vue、
发布于 2024-5-8 下午6:1 阅读数 1090

PHP 魔术方法详解

在 PHP 开发中,有一些特殊的方法被称为魔术方法(Magic Methods),它们在特定的情况下会自动被调用。这些魔术方法提供了一种灵活的方式来处理对象的创建、访问、修改和销毁等操作。本文将详细介绍 PHP 中常用的魔术方法,并结合代码论证其使用方法和效果。 __construct 方法 __construct 方法是在对象创建时自动调用的构造方法。它可
发布于 2023-6-17 上午10:9 阅读数 3615

使用 Laravel 制作 URL 短链接服务

用 Laravel 制作 URL 缩短器 大家好,你们是否使用过 https://bitly.com/ 来缩短 URL 呢?在本文中,我将使用 Laravel 框架 制作一个像 bitly 一样的 URL 缩短应用。 让我们开始吧! 首先,安装 Laravel。 composer create-project laravel/laravel laravel-url-shortener cd laravel-url-shortener php artisan serve 新建 Larave
发布于 2023-5-24 下午10:30 阅读数 1095

实用指南:如何使用 Laravel Actions 构建网页爬虫

几乎可以抓取和解析在线上可用的任何数据。本文示例将展示从 JSON 中提取数据,这可能是最简单的。有些软件包可帮助解析其他格式,例如 HTML、XML、PDF、CSV、Excel 甚至是借助 AI 技术的图像。 在荷兰,有一个网站 (https://www.verlorenofgevonden.nl) 用于跟踪丢失和扣押的自行车。通过这个项目,我们将获取在该网站上发现的相关数据
发布于 2023-5-24 下午5:21 阅读数 1102

在 PHP 中编写简单代码:技巧与最佳实践

作为程序员,你最宝贵的技能之一就是编写简单的代码。简单的代码易于阅读、理解和维护,这能在长期节省你和你的团队的时间和精力。在本文中,我们将探讨在 PHP 中编写简单代码的一些技巧和最佳实践,并为每个技巧提供示例。 1. 为人类编写代码 编写简单代码的第一步是为人类编写代码,而不是为机器编写代码。你的代码应该易于阅读和理
发布于 2023-5-24 下午3:24 阅读数 947

如何使用 Docker 将 Laravel 10 应用程序及其使用 PHP 8.2 和 MySQL 数据库容器化?

Docker 是一个强大的工具,允许开发者创建容器化应用程序。容器化可以帮助简化开发和部署流程,以及更轻松地在多个环境中一致地运行应用程序。本文将演示如何使用 PHP 8.2、MySQL 和 Redis 来 dockerize 一个 Laravel 10 应用程序。 先决条件 在开始之前,请确保你的系统上安装了 Docker 和 Docker Compose。要开始,请按照你的操作
发布于 2023-5-24 下午2:17 阅读数 1432

使用 Rector 将你的项目升级到 PHP 8.2

我想将一个项目升级到 PHP 8.2,并决定使用 Rector 进行升级。 事实证明,不仅如此,而且我完全低估了这有多容易。 什么是 Rector? Rector 是一个免费且开源的工具,用 PHP 编写,允许你自动化各种重构任务。它会分析你的代码并应用你在它的 配置文件 中指定的任何 规则。你也可以 创建自己的规则。 如何将你的项目升级到 PHP 8.2 首
发布于 2023-5-24 下午2:3 阅读数 1214

掌握 Laravel Sockets:实时Web应用的终极指南

Unsplash上的Alina Grubnyak的照片 你准备好使用 Laravel 进入实时 Web 应用程序的世界了吗?在这个终极指南中,我们将向你展示如何掌握 Laravel Sockets 并创建令用户印象深刻和参与度高的惊人交互式 Web 应用程序。 目录 Laravel 和 WebSockets 简介 设置 Laravel 应用程序 安装和配置 Laravel WebSockets 包 创建 Socket
发布于 2023-5-24 下午1:53 阅读数 1142

正则删除单行多行注释

单行注释需要兼顾https://等边界情况,下面这条正则很好的处理了该问题 res = str.replace(/(?:(?:\/\*(?:[^*]|(?:\*+[^*\/]))*\*+\/)|(?:(?<!\:|\\\|\'|\")\/\/.*))/, ''); 支持匹配//和/* */等注释 该正则表达式
发布于 2023-1-29 下午5:17 阅读数 1488

开始在PHP中使用严格类型检查

在解释 PHP 的严格类型之前,我们先执行下面的程序。 <?php function sum($a, $b) { return $a + $b; } echo sum(1, 2.5); // output 3.5 ?> 上面的程序用于找到两个给定数字的和。因此输出结果为 3.5。 标量类型声明 在 PHP 7.0 中引入了 标量类型声明。标量 类型声明 有两种模式,强制(默认)和严格。 现在我们将为函数参数
发布于 2022-12-12 上午8:0 阅读数 806

Waterline:优雅的 Laravel 工作流 UI

使用工作流的优点之一是使监控变得容易。使用 Waterline 可以更加简单! 仪表盘 看起来很熟悉吗?是的,这是无耻地基于 Horizon!但是,相似性仅仅是表面的。Waterline 面向工作流,而不是队列。实际上,Horizon 仍然是监视队列的最佳方式,并且可以很好地与其协作。 Waterline 是工作流的 Horizon。 工作流视图 此时,你可以看到许多不同
发布于 2022-11-20 上午8:0 阅读数 981

重新审视 PHP 中的懒加载代理

在Symfony 6.2中,VarExporter组件将会推出两个新的traits,帮助实现延迟加载对象。 正如它们的名字所示,延迟加载对象只在实际需要时才初始化;通常是在访问它们的属性时。当一个对象实例化非常耗费资源,但不总是被使用时,就会使用它们。 延迟对象有两个主要用途:延迟服务和延迟实体。 你可以在Symfony依赖注入容器中找到延迟服务。
发布于 2022-9-7 上午8:0 阅读数 848

众所周知,PHP速度较慢,语法也很糟糕。

众所周知,PHP语言曾经运行速度慢且语法可怕。尽管PHP曾经慢过,但随着PHP 7.0的发布,它已经大幅提升运行速度。PHP不仅仅是速度的优势。 PHP支持所有主流浏览器,是一种极具可扩展性且免费的开源编程语言。PHP也与JavaScript高度兼容,使得创建漂亮且实用的网站变得简单易行。 当与Laravel、Symfony或CodeIgniter等框架一起使用时,PH
发布于 2022-8-23 上午8:0 阅读数 824

在 PHP 中,在 Doctrine 实体中使用事件总线

你有多少次看到过这样写的代码呢? public function assignTeacherAction( SubjectInterface $subject, TeacherInterface $teacher ): JsonResponse { $subject->assignTeacher($teacher); $this->entityManager->flush(); $this->logTeacherAssignedToSubject($subject, $teacher); $this->notifyTeacher($s
发布于 2022-8-5 上午8:0 阅读数 879

如何使用Symfony Messenger批量处理消息。

一个有用的功能解释。 Symfony Messenger 5.4 在2021年末 引入了 批量处理消息。 好处是显而易见的——你可以一次处理多个消息,而不是一个一个处理,这在某些情况下更加有用和高效(比如将一批文档通过一个HTTP请求送到外部搜索引擎(如Solr),而不是每个消息都发起单独的请求)。 不幸的是,在Messenger的 文档 中,除了我上面链接的公
发布于 2022-8-1 上午8:0 阅读数 876

Laravel Pint - 一个适用于极简主义者的 PHP 代码风格修复工具

2022年6月29日,本文最初发表于techvblogs.com,阅读时间3分钟。 长时间的期待终于结束了,Laravel最新的开源CLI应用已经面世了,我们亲自试用了一下,现在向你详细介绍。这就是Laravel Pint。 从readme文件可以看到,“Laravel Pint是一个基于PHP-CS-Fixer构建的零依赖的PHP代码风格修复器,面向极简主义者。” 一读到这里,我就兴奋了,
发布于 2022-6-29 上午8:0 阅读数 1160

Laravel Job Queue:窥探幕后(第一部分)

简介 如果你在你的项目中使用过 Laravel,你很可能也用过它的任务队列。任务队列为那些不需要立即执行的耗时任务(例如发送电子邮件或推送通知)提供了一个很好的方式,这将显著提高请求的响应时间。Laravel 支持多个存储平台,如 Redis、Amazon SQS,甚至是关系型数据库作为队列后端。但是,在本篇文章中,我将仅讨论 Redis 作为队列后
发布于 2022-6-22 上午8:0 阅读数 901

作为 PHP 开发者,你是否应该尝试使用 Kotlin 呢?

距离我决定从 PHP 切换到 Kotlin 已经一年了。我想和你分享一下我个人对这种变化的感受。此外,我还想在寻找新机会时,向你推荐 Kotlin 作为可能的选择。 PHP 是一种糟糕的语言吗? 当然不是。最新的 PHP 发布(8.0,8.1)引入了很多好东西,比如属性、在构造函数中定义属性、匹配表达式、空安全操作符、枚举和“never”返回类型。当我切换到
发布于 2022-4-26 上午8:0 阅读数 1653

距离 PHP “消亡”还有两年:还有其他工具可供选择

我曾经写过两篇关于PHP“死亡”的文章,第一篇文章证明了PHP不会在一夜之间消失,因为它几乎支配着整个互联网,但是它会慢慢消亡,主要原因是缺乏竞争性特性。 第二篇文章探讨了编程语言“死亡”概念的更多内容。它们并不会消亡,而是被新范例的继承语言所取代,我们可以认为这些是后继语言。是的,还有COBOL程序员,但没有新项目是以COBOL
发布于 2022-2-28 上午8:0 阅读数 806

如何在 PHP/Laravel 中使用单一职责原则

本教程将以简单的示例向你展示如何在 PHP/Laravel 中使用 SRP(单一职责原则)。让我们开始吧。 首先,让我解释一下什么是单一职责原则。 单一职责原则是 SOLID 原则中的第一条。在 SOLID 中,S 代表单一职责原则。单一职责原则意味着一个类/方法应该有自己的职责,或者说一个类/方法只有一个修改的原因,或者说一个类/方法只有一个任
发布于 2022-1-24 上午8:0 阅读数 863

使用Laravel APIs和React前端实现细粒度权限控制

本文将讲解如何使用 Laravel APIs 作为后端和 React.js 作为前端(分离的应用程序)实现细粒度权限系统。 由于前端与后端分离并通过 APIs 连接,我们将不会使用 Laravel blade 视图作为常规方式。 介绍 在许多 Web 应用程序中,我们都有一个角色和权限系统。每个用户都有一个角色,每个角色都有自己的权限,然后每个权限用于授权我们
发布于 2021-11-22 上午8:0 阅读数 975

Laravel:修复测试中的内存泄漏问题

如果你正在创建 Laravel 应用程序并试图测试它是否按预期工作,你就知道当测试失败时会有多么破坏性。 测试运行时出现错误是正常的,但在某些情况下,测试框架不会抛出错误,相反,它会带着一条血腥的消息自杀。 那个“内存耗尽”实际上就是经典的 内存泄漏,是某些东西在测试用例之间持续存在和存留的副产品。当你创建带有许多测试用
发布于 2021-10-22 上午8:0 阅读数 1107

使用Visual Studio Code进行远程SSH PHP开发

使用远程 SSH 进行 PHP 开发(使用 Visual Studio Code) 设置 VS Code 以通过 SSH 远程开发可能会有点吓人,但一旦正确设置,它也可以产生许多好处: 实时调试 在服务器上编辑代码 保存和管理多个 SSH 会话 代码补全、语法高亮和许多其他功能,由 VS Code 提供 先决条件 你需要一些东西: 一个已设置接收 SSH 连接并提供 PHP 服务
发布于 2021-8-29 上午8:0 阅读数 1327
PHP

PHP

文章: 32关注: 3点击: 60821
推荐作者
保持简单
已闻君,诸事安康。 遇佳人,不久婚嫁。 已闻君,得偿所想。料得是,卿识君望
山重水复疑无路,柳暗花明又一坑。
阿里巴巴-咸鱼技术团队
暂无描述