问题标签 [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.
php - Laravel - 使用不同渠道为每个用户存储通知设置
我正在开发一个相当简单的应用程序,我希望我的用户能够订阅通知。所以系统应该:
- 当他们订阅的某个事件发生时发送通知。
- 向他们选择的渠道发送通知(电子邮件或 slack)
下面是每个用户可以订阅的不同通知的示例。
我想知道如何使用 Laravel 做到这一点。我的第一个想法是:
- 在表上创建一个
notifications
JSON 列users
,并将其存储起来(可能使用管理大量用户设置课程中的知识。)
但是,我不确定这是否是好的做法。此外,我也不确定如何实际动态发送通知。
为了发送它,我想使用 Laravel 通知系统:
我不确定这是否是最好的方法,或者使用事件/侦听器设置是否更有意义?一个
另外,我可以利用类上的via()
方法Notification
根据用户设置动态指定频道吗?
任何投入将不胜感激。
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
插件上,但该插件没有更新。
所以请帮助我。
php - PHP 8 评论错误
在以前的 PHP 版本中,我们有这样的代码注释
更新到 PHP 8 后,我们收到错误
这是新 PHP 8 中的错误还是我遗漏了什么?是否有任何解决方案来支持旧评论。
php - 将 Imagine 与 Xampp PHP 8.0.1 一起使用时出错
将 Imagine 库与 Xampp PHP 8.0.1 一起使用open()
时,文件中的函数出现错误Imagine/Gd/Imagine.php
。具体来说,代码的第 93 行:
的返回值$resource
is{GdImage}[0]
并且不是然后引发错误的资源。
如果我只是回到 Xampp PHP 7.4.13,一切都很好。
任何想法将不胜感激。
php - 空字符串与零的比较在 PHP 8 中给出了与以前版本不同的结果
这段代码在 PHP 8 中给出的结果与所有以前版本的 PHP 不同:
这似乎是一个重大变化。这里发生了什么?
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 usedUnbinding
$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:
php - 是否可以使用 PHP 8 属性实现接口并检查它是否是该接口的实例?
我有一个 PHP 属性如下:
现在,我想获取属性反射的所有属性的列表并检查它们是否是约束的实例:
然而,它什么都不做?
所以,我的问题是:是否可以实现一个带有属性的接口,然后检查该属性是否是一个实例?
这是一个完整的代码:
php - 在 PHP 8 ReflectionAttribute 类中使用 newInstance 方法是否快速且占用空间小?
在 PHP 8 中,引入了 ReflectionAttribute 类。它类似于 Java、Typescripts 等中的注解。例如,每次您想使用属性的属性时,您必须执行以下操作:
$attributeReflection 是 ReflectionAttribute 的一个实例。属性本身如下:
并按如下方式用于属性
如您所见,每次我想获取属性的消息时,我都必须创建它的一个新实例。虽然对于这种情况,消息永远不会改变。
我正在寻找一种避免新实例并使用共享实例的方法。
可能吗?
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 上(但我不确定这个问题是特定于操作系统的)。
兹洛茨
php - PHP 中未定义的 PHP 变量:变量 $_GET_GET。尝试访问 null 类型值的数组偏移量
我刚刚将我的 MAMP 更新到 PHP 8,并试图将我的设置迁移到它。在我网站的搜索栏中,它说:
警告:第968行未定义变量 $_GET_GET
警告:尝试访问类型为 null 的值的数组偏移量
这是我使用的代码:
它适用于以前的版本,但不知道为什么它不适用于 PHP8,我猜是因为新的更新但找不到修复它的方法。
更新:我尝试了 $_GET 而不是 $_GET_GET 并显示
警告:未定义的数组键。这是搜索栏的代码: