我必须传递给构造函数的类型是什么

时间:2013-05-27 20:06:29

标签: php

我在PHP中有两个类,其中一个执行一个sql语句,现在我想把句子的结果传递给另一个类

我有这个

if (mysql_num_rows($objeto) > 0){
  while($obj = mysql_fetch_object($objeto)){
    $result[]=$obj;
 }

我现在尝试将$ result传递给其他类

为此,我创建了一个类的新实例,并传递值

$generar= new DataInjector( $result);

和类的构造函数 我有这个。

function __construct(object $data) {
  print_r("ff");
}

我必须传递的值类型是什么?

我尝试,数组,对象,资源......但没有任何作用!

任何想法

3 个答案:

答案 0 :(得分:3)

在PHP中,您不必添加类型提示,但在此处它将是array

答案 1 :(得分:0)

试试(因为$result是一个数组):

function __construct(array $data) {
    print_r("ff");
}

......但不是必需的。

答案 2 :(得分:0)

mysql_fetch_object()返回对象(类)。

另一个类的构造函数必须如下所示:

function __construct($data) {
  print_r("ff");
}

在PHP 5.4+中指定类型只有在你有基类型和扩展类型的情况下才能找到错误。

像这样的东西(代码不起作用)

class Figure{
...
}

class Square extends Figure{
...
}

function do_something(Figure $f){
}

函数do_something()可以使用Figure调用,使用Square,但不能使用不扩展图的不同类调用。