使用 PHP 和 Laravel Prompts 创建 SSH 应用
Sam Carré 的 ssh-php 项目是通过 SSH 在 PHP 中构建基于文本的用户界面(TUI)的一个简单得的起点...
WeakMap:PHP 中隐藏的宝石
WeakMap 是将对象作为 key 来访问的 map。WeakMap 中的对象 key 不影响对象的引用计数。也就是说,如果在任何时候对其唯一的剩余引用是 WeakMap key,那么该对象将会被垃圾收集并从 WeakMap 移除...
PHP 获取 Let's Encrypt 免费 SSL 证书
这个客户端是用 PHP 编写的,旨在成为一个基于 ACME V2 的简化和解耦的 Let's Encrypt 客户端。与文件系统或 Web 服务器解耦例如,这个客户端不需要在 nginx 配置下将证书写入磁盘,而是只返回数据(证书和私钥)。要求PHP7+opensslFlysystem (任何适配器都可) - 用以存储 Lets Encrypt 账号信息开始...
鲜为人知但有用的 Composer 命令
Composer 是 PHP 的依赖管理器,如果你使用 Laravel,你应该已经熟悉了常用的命令,如 composer install 和 composer update。除此之外,Composer 还提供了一些鲜为人知但在使用 Laravel 很有用的命令。下面是 5 个你可能不知道但有用的 Composer 命令1. composer outdated...
构建可维护的 PHP 应用:思考数据与思考业务流程
互联网上的大多数教程以及其他正规或非正规教育,都教会开发人员如何用 CRUD 思维构建项目,CRUD 思维高度技术化,专注于数据操作,类似于 Excel 的发明初衷,几十年来一直在做它的工作。这是可以理解的,因为编程的入门材料需要简单易用。不要误解我的意思,作为一个起点,内容对初学者来说很好,但当构建真实世界的项目时,它们比学习材料中显示的更复杂。如果你真的...
在 PHP 中使用 ScraperAPI 爬取 Google 网页搜索
当你手动做事时,在网上抓取数据是一个令人厌烦的过程。例如,如果碰巧使用 PHP 进行操作,则需要执行以下步骤。使用 file_get_contents() 函数获取网站内容使用 DOMDocument 类解析内容然后使用 loadHTML()函数加载数据最后,使用 getElementsByTagName() 函数遍历 DOM 树虽然这是有效的,但这是一个乏...
修复 MySQL 8.4 的 "mysql_native_password is not loaded" 插件未加载错误
MySQL 8.4(截至 2024 年的最新 LTS 版本)中引入的一个主要变化是,默认情况下不再启用 “MySQL Native Password” 插件。此更改会影响使用 MySQL 数据库和 mysql_native_password 身份验证插件的 PHP 和其他应用。由于默认情况下不再加载 mysql_native_password 插件,因此 ...
一些新的数组函数正在加入 PHP 8.4
PHP 8.4 仍在开发中,到目前为止已经有了一系列新功能和改进。新功能不断出现,其中一个最近出现的功能是添加了新的数组方法。有一个 RFC(仍处于投票阶段),它建议添加这些新方法,这些方法本质上与检查数组中是否存在与特定条件匹配的元素有关。新方法是:array_find、array_find_key、array_any、array_all、array_find 方...
PHP 8.4 中是否实现不带额外括号的类实例化?
略去 new 表达式周围括号的 RFC 可能会出现在 PHP 8.4 中。该 RFC 目前处于投票阶段,有 21 张“赞成”票和 3 张“反对”票。投票将于 5 月 24 日结束,因此 ⅔ 的投票仍有可能失败,但乐观地说,看起来它正朝着正确的方向前进。自从引入了实例化期间的成员访问,你必须将 new MyClass() 调用封装在括号中,否则将出现解析错误。...