问题标签 [php-8.1]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
41 浏览

php - 为什么当我使用 is_string 时 PHPStan 显示类型错误?

我有这个代码:

PHPStan 报错:

二元运算“.” 在 '"' 和 non-empty-array|non-empty-string|true 之间会导致错误。

我不明白为什么会这样:我知道pg_last_notice如果设置了其他条件,它也可以返回布尔值或数组,但我有一个is_string检查,所以 PHPStan 应该知道这是一个字符串。

0 投票
1 回答
31 浏览

php - 是否可以在枚举 php 8 上使用类名

我正在阅读 php 枚举文档,据我了解,这个最基本形式的新功能是让我们设置要在类中使用的常量以进行类型检查。

有什么方法可以处理类吗?例子:

0 投票
0 回答
110 浏览

php - PHP 致命错误:ArrayAccess 继承期间:未捕获 ErrorException:Illuminate\Support\Collection::offsetExists($key) 的返回类型

我在 Laravel 中遇到以下错误

PHP 致命错误:ArrayAccess 继承期间:未捕获 ErrorException:Illuminate\Support\Collection::offsetExists($key) 的返回类型应该与 ArrayAccess::offsetExists(mixed $offset): bool 兼容,或者 #[\ReturnTypeWillChange ] 属性应该用于暂时抑制 E:\xampp\htdocs\project1\vendor\laravel\framework\src\Illuminate\Support\Collection.php:1277 中的通知

作曲家:

0 投票
0 回答
20 浏览

php - 为什么 php 将列表和字典混合在相同的数据类型“数组”中?

我想知道:PHP 语言中的“双类型”数组是什么意思?PHP 应该引入 2 种新类型:list 和 dict(从 python 借来的关键字),或者?这种奇怪的数据类型的原因是什么(除了向后兼容性)?它引入了需要烦人的解决方法的问题(例如,空 php 数组的序列化 [序列化为对象或数组?])

0 投票
0 回答
23 浏览

php - 实现 PHP CSS 选择器

我正在为我的视图实现一个 css 选择器功能。目标是实现自然的 css 选择器来描述 DOMPath 中的元素。这种预格式化将允许更严格的视图组件和布局。

目前我正在寻找路径选择器

  1. 一般后裔
  2. 直接孩子
  3. 第n个孩子()
  4. 不是()

实施会忽略任何状态,因为服务器端的实施会受到损害/折旧。

我目前有一个与查询中提到的任何特定规则匹配的所有元素的列表

这里的想法是,通过一组结构化的选定元素和选择器,系统可以轻松地断言选择器和后代引用。

我正在努力设计一种使用:not(.selector > #With > .queries).

我正在使用 DOMDocument、DOMXPath、数组函数和面向对象的设计。

?? 我的问题是如何在不增加大量使用的情况下有效地实现否定,因此它将扩展到大型设计并快速加载。

我正在考虑两种设计

  1. 通过系统扫描查询以查找与规则的匹配并获取选择器属性的位置
  2. 控制台系统跟踪它的状态,并使用允许前向后向 导向器、操作员charBuffers跟踪路由的控制流通过查询流进行单次传递。 控制流意味着如果选择器需要提前检查,它可以从一个规则流向另一个规则并遵循跟踪路由以返回操作,并插入删除节点以手动将流的一部分声明为可为空。

为了满足问题标准,实现这种结果的最佳设计模式是什么,任何优缺点,以及是否有任何php小于 1kb 的 css 选择脚本。

与社区相关的是,会有一个轻量级且没有依赖关系的 php css 选择器类,因此可以很容易地移植到不同的项目中。完成后,我可以发布一个工作实现,以作为关于通过 css 查询选择标签的任何问题的答案。

该项目是一个视图/控制器实现,用户以一种像 Swift 一样富有表现力的方式定义每个视图和控制流。

开源项目的发布版本将是与专有版本分开的分支,其中代码将通过使用 CDN 和付费订阅来移植。

0 投票
0 回答
9 浏览

php - Doctrine 2 本机 PHP 8.1 枚举支持 - 将枚举与查询构建器一起使用不起作用

Doctrine 添加了对 PHP8.1 枚举类型的原生支持。它看起来像预期的那样在实体方面工作(在数据库上保存实体和水合,同时获取实体按预期工作)。但是,当我尝试使用带有 where 枚举字段上的 where 子句的存储库查询构建器来获取实体时,由于转换问题,它会引发异常。

例如

将导致

当然,我可以通过这样做来省略问题,->setParameter('status', EnumStatus::Pending->value)但这有点奇怪。

Em我做错了什么,或者它只是意味着这样?