-2

可能重复:
类定义的顺序在 PHP 中是否重要?

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

 class b  {

    function sum () {
        return 3+4;
    }

 }


$obj_a = new a();

这段代码有效,但我感兴趣的是这段代码有多少合理性?即:第一次写a类,在他里面我们叫b类,但是b类写在a之后。在这个例子中,在a之前写b类会更好吗?还是没有意义?

4

5 回答 5

4

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

如果类没有在同一个文件中定义,那么事情会变得更复杂一些,但不会影响这种代码。

于 2012-10-08T11:52:23.087 回答
2

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

要遵循的一般规则是,您永远不应该提前阅读以了解您的代码是做什么的。

所以从这个意义上说,是的。b 应该首先定义Class (应该是 PHP 不关心,它只是为了便于阅读),然后是 Class a,然后是对象调用。

于 2012-10-08T11:52:54.660 回答
1

您不必颠倒顺序。PHP 在运行之前编译代码。

于 2012-10-08T11:52:42.757 回答
0

类在文件中的放置顺序无关紧要。对于放置在不同文件中的类,请查看此答案

于 2012-10-08T11:53:02.703 回答
0

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

$obj_a = new a();

它不依赖于类或函数初始化。因此,您的代码可以按任何顺序运行。

于 2012-10-08T11:54:23.857 回答