0

我在 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");
}

我必须通过的值类型是什么?

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

任何想法

4

3 回答 3

3

在 PHP 中,您不必添加类型提示,但在这里可以添加array.

于 2013-05-27T20:12:59.020 回答
0

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

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

...但这不是必需的。

于 2013-05-27T20:13:59.330 回答
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 调用,但不能用不扩展 Figure 的不同类调用。

于 2013-05-27T20:23:35.340 回答