Codeigniter v4.5.0 版本发布
Codeigniter v4.5.0 发布了,附带许多增强特性!v4.5.0 是一个 minor 级的更新,它包含了增强及漏洞修复。它需要 PHP 8.1 或更高版本。不幸的是,其中也有许多破坏性更新。不过,许多用户都不会受到大部分破坏性更新的影响。所有这些更改都提供了更合适的行为。但是其中一些突破性的更改会破坏你的应用,所以请谨慎升级。请仔细阅读变更日志和...
带你深入了解 PHP 8.4 的属性钩子
属性挂钩允许你自定义类属性的 getter 和 setter 逻辑,而无需编写单独的 getter 和 setter 方法。这意味着你可以直接在属性声明中定义逻辑,这样你就可以直接访问属性(如 $user->firstName),而无调用方法(如 $user->getFirstName() 和 $user->setFirstName())。
Laravel 中的地理数据检索
在这个系列中,我将试图涵盖我在那个项目中遇到的与地理数据相关的所有方面。首先是如何检索地理数据。有些人可能知道 OpenStreetMap 项目——Overpass API 是它的一部分,可以用来检索数据。它的行为类似于 GraphQL,因为它只有一个端点,你可以使用 Overpass QL 向其发送查询,通常 OpenStreetM...
PHP 8.4.0 Alpha 4 可用于测试
PHP 团队发布了 PHP 8.4.0 的第二个测试版本 Alpha 4。这延续了 PHP 8.4 的发布周期,其大致轮廓在 PHP Wiki 中指定。有关 PHP 8.4.0 Alpha 4 的源代码下载,请访问下载页面。请仔细测试此版本,并在错误报告系统中提交发现的任何问题。请不要在生产中使用此版本,这是一个早期测试版本。有关新功能和其他更改的更多信息,...
使用 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 树虽然这是有效的,但这是一个乏...