问题标签 [php-8]

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 投票
1 回答
702 浏览

php - Laravel - 使用不同渠道为每个用户存储通知设置

我正在开发一个相当简单的应用程序,我希望我的用户能够订阅通知。所以系统应该:

  • 当他们订阅的某个事件发生时发送通知。
  • 向他们选择的渠道发送通知(电子邮件或 slack)

下面是每个用户可以订阅的不同通知的示例。

在此处输入图像描述

我想知道如何使用 Laravel 做到这一点。我的第一个想法是:

  1. 在表上创建一个notificationsJSON 列users,并将其存储起来(可能使用管理大量用户设置课程中的知识。)

但是,我不确定这是否是好的做法。此外,我也不确定如何实际动态发送通知。

为了发送它,我想使用 Laravel 通知系统:

我不确定这是否是最好的方法,或者使用事件/侦听器设置是否更有意义?一个

另外,我可以利用类上的via()方法Notification根据用户设置动态指定频道吗?

任何投入将不胜感激。

0 投票
1 回答
650 浏览

php - WP-Statistics Uncaught TypeError: implode(): Argument #2 ($array) must be of type ?array, string given

将我的 PHP 从 更新7到后,8.0.1我遇到了这个错误Wordpress 5.3.6

该站点遇到技术难题。

检查我的电子邮件收件箱后,我收到此错误:

E_ERROR 在第 254 行 /public_html/wp-content/plugins/wp-statistics/includes/vendor/whichbrowser/parser/src/Model/Version.php 发生。

错误信息是:

错误消息:未捕获的类型错误:implode():参数 #2 ($array) 必须是 ?array 类型,字符串在 public_html/wp-content/plugins/wp-statistics/includes/vendor/whichbrowser/parser/src/Model 中给出/版本.php:254

似乎问题出在WP-Statistics插件上,但该插件没有更新。

所以请帮助我。

0 投票
2 回答
169 浏览

php - PHP 8 评论错误

在以前的 PHP 版本中,我们有这样的代码注释

更新到 PHP 8 后,我们收到错误

这是新 PHP 8 中的错误还是我遗漏了什么?是否有任何解决方案来支持旧评论。

0 投票
1 回答
125 浏览

php - 将 Imagine 与 Xampp PHP 8.0.1 一起使用时出错

将 Imagine 库与 Xampp PHP 8.0.1 一起使用open()时,文件中的函数出现错误Imagine/Gd/Imagine.php。具体来说,代码的第 93 行:

的返回值$resourceis{GdImage}[0]并且不是然后引发错误的资源。

如果我只是回到 Xampp PHP 7.4.13,一切都很好。

任何想法将不胜感激。

0 投票
1 回答
354 浏览

php - 空字符串与零的比较在 PHP 8 中给出了与以前版本不同的结果

这段代码在 PHP 8 中给出的结果与所有以前版本的 PHP 不同:

这似乎是一个重大变化。这里发生了什么?

0 投票
2 回答
1203 浏览

php - Migrate to PHP 8.0: Unbinding $this when $this is used

Step by step, I am migrating my project(s) from PHP 7.1 to PHP 8.0.

In the official PHP manual, in the subchapter "Deprecated Features" of the chapter "Migrating from PHP 7.3.x to PHP 7.4.x", I tried to understand the following deprecation description:

Unbinding $this when $this is used

Unbinding $this of a non-static closure that uses $this is deprecated.

Though, without success.

That's why I would appreciate, if someone could explain me in detail, what this means. Maybe a code snippet could be helpful too.

Thank you very much for your time!


Maybe this helps for the explanation too:

In my project, I have only one situation to which, in my opinion, this deprecation notice could be appliable: to the method executeGroupHandler of the RouteCollection class presented bellow. I preferred to paste a bit more code of the class, in order to help you understand the context in which I use the method executeGroupHandler.

RouteCollection class:

Use of RouteCollection class:

Having the RouteCollection class defined, I use it similar to the following:

0 投票
1 回答
192 浏览

php - 是否可以使用 PHP 8 属性实现接口并检查它是否是该接口的实例?

我有一个 PHP 属性如下:

现在,我想获取属性反射的所有属性的列表并检查它们是否是约束的实例:

然而,它什么都不做?

所以,我的问题是:是否可以实现一个带有属性的接口,然后检查该属性是否是一个实例?


这是一个完整的代码:

0 投票
1 回答
63 浏览

php - 在 PHP 8 ReflectionAttribute 类中使用 newInstance 方法是否快速且占用空间小?

在 PHP 8 中,引入了 ReflectionAttribute 类。它类似于 Java、Typescripts 等中的注解。例如,每次您想使用属性的属性时,您必须执行以下操作:

$attributeReflection 是 ReflectionAttribute 的一个实例。属性本身如下:

并按如下方式用于属性

如您所见,每次我想获取属性的消息时,我都必须创建它的一个新实例。虽然对于这种情况,消息永远不会改变。

我正在寻找一种避免新实例并使用共享实例的方法。

可能吗?

0 投票
4 回答
3797 浏览

php - 让 PHP7 和 PHP 8 共存

让 PHP7 和 PHP 8 共存

我已经从 PHP 7 升级到 PHP 8。就像 PHP 的情况一样,我仍然有 php7.4 /usr/bin(连同 php8.0)。但是,当我运行php -v命令时,它会回答 php8.0。

从那时起,在尝试安装软件(例如 Docker 和 VirtualBox)时,我收到错误消息php7.4-fpm.service: Failed with result 'exit-code',然后是Failed to start The PHP 7.4 FastCGI Process Manager. 因此,我似乎需要运行 php7.4 来安装此类应用程序。

但我使用 PHP 8 功能编写网站,因此不想回到 php7.4

有没有办法同时使用php8.0和php7.4?我可以让 PHP 8 在虚拟机上工作,但它很重。

我在 Ubuntu 20 上(但我不确定这个问题是特定于操作系统的)。

兹洛茨

0 投票
2 回答
133 浏览

php - PHP 中未定义的 PHP 变量:变量 $_GET_GET。尝试访问 null 类型值的数组偏移量

我刚刚将我的 MAMP 更新到 PHP 8,并试图将我的设置迁移到它。在我网站的搜索栏中,它说:


警告:第968行未定义变量 $_GET_GET

警告:尝试访问类型为 null 的值的数组偏移量

这是我使用的代码:

它适用于以前的版本,但不知道为什么它不适用于 PHP8,我猜是因为新的更新但找不到修复它的方法。

更新:我尝试了 $_GET 而不是 $_GET_GET 并显示
警告:未定义的数组键。这是搜索栏的代码: