【问题标题】:Type hinting breaks PHP class类型提示中断 PHP 类
【发布时间】:2018-03-09 00:00:08
【问题描述】:

我遇到了这个问题。 我已经设置了一个这样的类:

 <?php

class CalendarTable {
    private $pdo;   
    private $table;

    public function __construct(PDO $pdo, string $table) {
        $this->pdo = $pdo;
        $this->table = $table;

    }



    public function get_next_event_id() {
           [...]
    }



}

但是,当我尝试使用该类并同时传递 $pdo 和 $table 时,它​​不起作用。

如果我从 (PDO $pdo, string $table) 中删除“string”类型提示, 有用。我正在传递一个普通字符串,我不知道它为什么不起作用(html 分页符)。有什么想法吗?

使用类的代码:

<?php
            $calendar = new CalendarTable($pdo,'calendar');

【问题讨论】:

  • 什么版本的 PHP?
  • 原始类型提示仅限 PHP7+
  • 我也想通了,愚蠢的问题。还是谢谢你们!

标签: php wordpress


【解决方案1】:

没关系。以下是它不起作用的原因:

类型提示只能是对象和数组(自 PHP 5.1 起)类型。 不支持使用 int 和 string 进行的传统类型提示。 PHP 7.0 重新引入了“字符串”类型提示。我是,使用 5.4.45,所以它不起作用。

Source

【讨论】:

  • 从PHP7开始支持!实际上每个旧版本都是 EOL,所以你应该运行一个支持它的版本,否则你的生活很危险:D 这是“当前”信息来源:php.net/manual/en/…
  • 我正在尝试开发一个业余网站,结果发现我使用的免费主机是在 PHP 5.4.45 上设置的。我会切换到更新的版本!感谢您的提示。
猜你喜欢
  • 2013-02-17
  • 2013-06-06
  • 2017-11-21
  • 1970-01-01
  • 2017-04-24
  • 2013-01-17
  • 2015-12-30
  • 2016-10-10
  • 1970-01-01
相关资源
最近更新 更多