问题标签 [php-7.4]

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 回答
1627 浏览

oop - 在 PHP 7.4 中避免 getter 和 setter

由于 PHP 7.4 支持类型化的类属性:https ://www.php.net/manual/en/migration74.new-features.php#migration74.new-features.core.typed-properties 。看起来可以消除很多代码,特别是负责控制属性类型的实体和 DTO 中的 getter 和 setter。例如这样的片段:

可以重构为:

我认为这是个好主意吗?在进行这样的重构时我应该考虑什么?

0 投票
1 回答
76 浏览

php - 复选框总是被选中,即使没有被选中

我有一个复选框,无论我是否选中该框,它都会被选中。

以下是复选框当前的设置方式:

以下是捕获复选框值的方式:

我也尝试了以下代码:

我也尝试了隐藏字段的方法,但没有奏效。即使我删除了检查,关于为什么复选框显示标记的任何想法。

0 投票
1 回答
429 浏览

php - 在mongodb中插入php datetime成为一个空对象

我做了从 php 7.2 到 7.4 的更新,当我在 mongodb 中存储日期时间时发现了一个意外的行为

所以我试试

在 php 7.4 我有这个结果:

在 php 7.2 中我有

我怎样才能保持 php 7.2 的行为?

0 投票
1 回答
428 浏览

php - 资源的类型属性是什么

当我想存储资源(如 ftp-Stream 或 ftp-Buffer)时,类型化属性的正确类型是什么?

没有像Resource. 所以以下方法不起作用:

导致 php 认为这是一个名为 Resource 的类。

0 投票
2 回答
1526 浏览

php - 无法在 CentOS 7 上安装 phpMyAdmin

yum update -y最近我们使用并发布了我们面临几个问题的CentOS 7 。

现在,即使在尝试安装旧版本的 php56 之后,它也给出了相同的结果。

尝试在 CentOS Linux 版本 7.7.1908(核心)上安装 phpMyAdmin 时出错

0 投票
0 回答
199 浏览

opentbs - TinyButStrong 给出了一个损坏的 DOCX 文件

我正在使用 TinyButStrong(带有 opentbs 插件)将 DOCX(XLSX/ODT/ODS)文件与 CSV 数据(文件上传)合并。在我的带有 libre-/openoffice 的 Linux 电脑上,生成的合并 DOCX 文件出现错误:“SAXException: [word/document.xml line 2]: Couldn't find end of Start Tag blip”

在我的客户的带有 windows 和 microsucks Word 的电脑上,它也给出了一个错误,但无法继续(打开一个空白文件)。

我正在使用 PHP7.3 和最新的 TBS 和 OpenTBS 插件。它以前可以工作,但在更新 PHP 或其他服务器软件后,它开始出现故障。(不知道确切的时间,因为我依赖于客户的反馈)。

我在 apache 错误/访问日志中没有看到任何错误(在调试模式下),我为此脚本创建了一个自定义日志,并执行了完整的脚本(直到合并的输出文件以及将数据插入到一个数据库)。我启用了 TBS 错误输出,但也没有显示任何错误。

当我在 Libreoffice 中打开源文档 DOCX 时,它没有错误,只有在合并后才存在错误。如果我然后打开合并的文档(在 Libreoffece 中并 scip 错误)它显示正确,我可以保存更多。我可以在 libreoffice 和 microsoft office 中打开它而不会出错。

  • 调试命令:OPENTBS_DEBUG_XML_SHOW
  • OpenTBS 版本:1.10.0
  • TinyButStrong 版本:3.11.0
  • PHP版本:7.3.15-3+ubuntu18.04.1+deb.sury.org+1YES
  • 打开的文件:/tmp/phpgYoneg
  • 文档类型的激活功能:openxml/docx
  • 存档中已删除的文件:无
  • 在存档中添加文件:
    • 字/媒体/opentbs_added_1.png
    • 字/媒体/opentbs_added_2.png
    • 字/媒体/opentbs_added_3.png
  • 存档中的修改文件:
    • docProps/core.xml
    • 字/文档.xml
    • [内容类型].xml
    • word/_rels/document.xml.rels

编辑:显然用字段改变图片:

并且array $data['image'] = ''; 不起作用。

还不知道如何从这里着手,当输入为空时如何阻止 TinyButStrong 更改它?

所以我有点想法,有没有人建议如何找到和/或解决这个问题?谢谢。

0 投票
2 回答
747 浏览

php - 无论出于何种原因,PHP 7.4.4 都不想针对路径 php_mysqli.dll(Windows 10 Server 版本)

通过观看有关该主题的几个教程,我设法设置了 PHP 服务器。我想将数据存储到 PHPMyAdmin 中。一切都很好,除了一个。PHP 不想启用运行 PHPMyAdmin 所需的 mysqli.dll。到目前为止,我有这个文件 php.ini 的 PHP 代码。

奇怪的是,路径似乎指向正确的目录和文件,但 PHP 控制台告诉我它找不到 DLL 文件。 目标路径 控制台告诉我的内容 我也试过这个 .php 文档,它还说它没有加载。

这个 PHP 文档告诉我什么。

0 投票
1 回答
923 浏览

php - PHP 7.4 警告:从空值创建默认对象

apache 错误日志填满了这个。我不想抑制所有错误,并且明白我需要在某处显式创建一个对象,但语法让我无法理解。

警告:从第 22 行的 library/cegcore2/libs/helper.php 中的空值创建默认对象

0 投票
4 回答
4489 浏览

php - PHP 7.4 类型化属性迭代

我刚刚发现关于 PHP 7.4 的一些“有点奇怪”的东西,我不确定这是否只是我遗漏了一些东西,或者它是否是一个实际的错误。主要是我对您的意见/确认感兴趣。

所以在 PHP 中,你可以像这样遍历对象属性:

现在,如果我们开始使用这样的强类型属性:

我们会得到不同的结果:

现在有什么不同:

当您不为强类型属性分配默认值时,它将是Uninitialized类型。这当然是有道理的。问题是,如果它们以这样的方式结束,您将无法遍历它们,它们将被简单地省略 - 没有错误,没有任何东西,正如您在第二个示例中看到的那样。所以我只是无法访问它们。

这是有道理的,但想象一下你有一个这样的自定义请求/数据类:

你看到那个丑陋的字符串赋值了吗?如果我想让我的类上的属性可迭代,那么我必须:

  • 掉落类型
  • 分配虚拟值

我可能想要一个具有类型化属性的对象,其中没有任何值来循环它们并在有意义的情况下填充它们。

有没有更好的方法来做到这一点?是否有任何选项可以保留类型并保持可迭​​代而不必执行这种虚拟值可憎?

0 投票
1 回答
43 浏览

php - 如何优化我的特征代码以避免在子类中具有相同值的两个属性

我有这段代码,但我觉得有些不对劲。我必须为两个不同的属性分配相同的值。一个来自我的特质,另一个来自我现在的班级。

我希望我可以完全隔离我的特征,而不必在我的子类构造函数中进行此分配。

代码:

预先感谢您的建议