队列类在php中有意义吗?

时间:2012-10-08 11:49:39

标签: php class queue

  

可能重复:
  Does the order of class definition matter in PHP?

class a {
    function __construct () {
        $obj = new b();
        echo $obj->sum();
    }
}

 class b  {

    function sum () {
        return 3+4;
    }

 }


$obj_a = new a();

这段代码有效,但我感兴趣的是这段代码多少合理?那就是:第一次是写了一个班级,在他里面我们称之为班级b,但是班级b是在一个班级后写的。在这个例子中,wille是更好的方法写入b之前的一个?还是没感觉?

5 个答案:

答案 0 :(得分:4)

不,源文件中定义两个类的顺序无关紧要。只要两者都在同一个文件中定义,您就可以随意移动它们。

如果类没有在同一个文件中定义,那么事情can get a little more complicated,但不会影响这种代码。

答案 1 :(得分:2)

该特定代码包含我们称之为“魔法”的元素。你无法从代码本身推断它需要定义b类。

遵循的一般规则是,您不应该提前了解您的代码所做的事情。

所以从那个意义上讲,是的。类b 应该(应该,PHP不关心,仅为了可读性目的)首先定义,然后是类a,然后是对象调用。

答案 2 :(得分:1)

您不必撤销订单。 PHP在运行之前编译代码。

答案 3 :(得分:0)

将类放在文件中的顺序无关紧要。对于放置在不同文件中的课程,请查看this answer

答案 4 :(得分:0)

当我们运行文件时,它正在搜索第一个执行行,这行是

$obj_a = new a();

它不依赖于类或函数初始化。因此,按照任何顺序,您的代码都可以正常工作。