好吧,我得到了这个oop:
abstract class TestSystemUtils {
abstract public function __run();
/* utils funcs */
}
class TestSystem extends TestSystemUtils {
protected $body;
protected $out;
function __construct() { }
public function __run() { }
}
我有一个包含许多模块的目录,每个模块都是一个扩展TestSystem的类,但是我不希望包含所有模块然后在方法__run中我使dbconnection获取将要使用的这些模块,但是在这一点上idk'包含'这些文件的正确方法我可以使用__autoload func但idk如果我应该在类TestSystem中调用这些类,所有模块都需要使用这两个变量'body'和'out'...那么什么是正确的方法吗?有人可以帮我。
模块类看起来像:
class mod01 extends TestSystem { }
感谢。
答案 0 :(得分:0)
对于大多数情况,您应该使用JIT(及时)加载。 这样,您将只加载和编译您将使用的代码。项目越大,它的影响就越大。
建议使用spl_autoload_register(),因为它比__autoload()更强大,它为您提供了一种更好的注册自动加载器的方法,而不是单个函数。
总结: 1)不要包含/要求在该脚本运行中不会使用的代码。 2)尽可能多地封装在类中,并让自动加载器包含它们所需的那些。