编程

PHP 8.1 新特性解析: 新增 #[ReturnTypeWillChange] 属性

690 2023-08-17 11:20:00

#[\ReturnTypeWillChange] 是 PHP 8.1 引入的新特性,这表示不匹配的暂定返回类型不应该发出弃用通知。PHP 8.0 之前的版本将属性语法解析为代码注释,不会导致任何语法错误。在类方法中添加 #[\ReturnTypeWillChange] 属性不会导致任何问题,但在PHP 8.1中可以忽略了弃用通知。这是添加到 PHP 的第一个...

详情...
编程

禁用 Composer script 处理的超时时间

601 2023-08-16 20:08:00

对于我项目中的重复过程,我通常使用 Composer 的 script 功能来简化我自己和我的团队运行脚本和执行二进制文件的过程。我经常遇到的一件事是长时间运行的进程,如观察者脚本或后台进程,超过了 Composer 默认的300秒脚本超时。我最常看到的一个例子是大型测试套件,它可能需要5分钟以上的时间来运行,通常是端到端测试。{ "scripts"...

详情...
编程

创建自己的 PHP 服务容器 - 最小容器

550 2023-08-14 18:54:00

本文将介绍 PHP 中是如何创建自己服务容器,用于依赖注入。我将从最简单的 PSR-11 容器,并逐步添加各种特性直至我们有一个强大、通用的容器。"服务容器(service container)" 是什么?服务容器是一个 PHP 对象,用于负责其他对象的实例化。我们告诉容器如何初始化对象,然后在项目需要它的实例时,再去请求。PSR-11 是什么?PSR-11...

详情...
编程

Filament V3 已发布!

1231 2023-08-13 00:49:00

Filament v3 已经发布!这是一次大的版本更新,伴随许多新特性和改进。团队已经对项目中的每一个 Blade 模板的设计进行更新。此外,Filament 现在要求 Laravel 9+ 而非原来的 8+、Livewire 3 而非 Livewire 2 以及 PHP 8.1+。# Action 模态框,随处使用打开模态框,在页面的任何按钮中滑出。即使在...

详情...
编程

创建自己的 PHP 模板引擎 - 渲染 & Echo

601 2023-08-12 17:08:00

我们来创建一个小型 PHP 模板引擎!本文主要关注模板的渲染及 echo 输出能被 htmlspecialchars() 转义的数据。在我们开始编写代码之前,我们需要注意任何编程项目中最重要的部分——为项目命名。我将称之为“Stencil”。模板本身都将是纯PHP。我们不会创建任何像 Twig 或 Blade 这样的特殊语法,我们将只关注模板功能。我们将从创...

详情...
编程

使用 Browsershot 生成 PDF 发票

594 2023-08-10 15:34:00

开发票很无聊,手动写发票更是如此,这就是为什么你应该在应用程序中自动化整个过程。发票是任何业务中非常重要的一部分。通过让你的 Laravel 应用程序自动生成发票,你可以让你的用户的生活变得更轻松,我们都知道这意味着他们会呆得更长,更热衷于使用你的应用程序。在本文中,我将向您展示如何使用 Spatie 的 Browsershot 包自动生成发票PDF。继续阅...

详情...
编程

使用 GoLang 协程处理 Laravel 队列任务

1085 2023-08-08 13:12:00

Laravel 包含一个优秀的队列组件,它允许我们将耗时的任务委派给后台进程。它使我们能够更快地响应请求,从而处理更多的请求,从而扩展我们的 web 服务。队列进程,无论优化得多么好,一次只能处理一个作业。这意味着我们需要更多的进程来同时处理更多的工作。每个工作进程都是一个 PHP 进程,每个进程都通过拥有自己的内存空间而与其他进程隔离。如果我们启动过多的进...

详情...
编程

只读型网页应用

684 2023-08-06 12:40:00

对渐进增强最卡通化的误解是,它意味着在没有 JavaScript 的情况下让一切正常工作。不。渐进式增强意味着确保您的核心功能在没有 JavaScript 的情况下正常工作。在我的《弹性网络设计》一书中,引用了威尔托的话:当JS崩溃时,《波士顿环球报》上许多很酷的功能都无法工作;“阅读新闻”不是其中之一。这是一个核心功能很容易识别的例子。这是一份报纸。核心功...

详情...
编程

Laravel 及 ChatGPT "函数调用" 的使用

1004 2023-08-04 12:16:00

最近,OpenAI 发布了一个 ChatGPT 更新,引入新特性,使开发者可以描述语言模型函数 - gpt-4-0613 和 gpt-3.5-turbo-0613。这些特性允许生成包含参数的JSON对象,以便根据用户输入运行这些函数。让我们来探讨一下这个新功能的示例。您可以使用它来获取有关IP地址、以前的订单、常见问题解答中的信息、天气预报或任何其他所需信息...

详情...
编程

centos7 设置SSH密钥登录

843 2023-08-02 18:50:00

SSH密钥提供了一种简单、安全的方式来登录服务器,建议使用。使用后可以免输密码的登录centos7服务器。创建 RSA 密钥对第一步是在客户端(你管理服务器用的电脑)上创建密钥对:ssh-keygen然后直接enter enter enter。windows使用cmd、powershell(推荐)linux直接终端输入即可。它会在你的用户目录下创建一个.ss...

详情...