class要求进入方法

时间:2011-06-22 20:46:20

标签: php

我有一个类,一个方法可以返回其他的实例,例如:

class a {

    public function foo() {

    }

    public function bar() {
          return new b();
    }

}

“b”类在另一个文件中,我可以这样做:

require_once('b.php');

class a {

    public function foo() {

    }

    public function bar() {
          return new b();
    }

}

但我包括一个类,这不是在案件的市长使用。我实际上做了:

class a {

    public function foo() {

    }

    public function bar() {
          require_once('b.php');
          return new b();
    }

}

真的不要使用require函数,我使用的是导入函数,它使用require,但是我为类名做了(而不是自动加载)(我们使用包而不使用名称空间)。

这样做有效,没有错误,警告,通知等。这是错误的吗?

2 个答案:

答案 0 :(得分:2)

这很好。确保您没有任何不属于类/函数的语句,因为它们只会在bar()函数中执行/可用

答案 1 :(得分:2)

我认为这更多是个人选择的问题。因为PHP是被解释的,所以与每个示例的C不同,编译器不需要在运行时之前知道类定义,因此您可以在代码中的任何位置使用include指令。

两者都有一个优点和缺点:如果你总是包含在脚本的开头,你可以很容易地找出你的类有哪些依赖项,但是你可以加载那些在运行时不会使用的类。显然,相反的做法会产生相反的效果。

要么可以接受。