假设我有一个名为smallBox.php的类文件:
<?php
class SmallBox {
public function boxMethod() {}
}
然后我使用'require'将smallBox.php文件包含到另一个类中:
<?php
class BigBox {
public function __construct() {
require 'smallBox.php';
$box = new SmallBox();
$box->boxMethod();
}
}
?>
我是PHP OOP和MVC的新手,并且想知道在BigBox类中包含smallBox.php是否被认为是不好的做法?
答案 0 :(得分:4)
您应该使用autoloading of classes而不是手动require
- PHP文件。基本上,它是一种基于类名加载适当的PHP文件的机制。
答案 1 :(得分:2)
使用require_once和include_once。在类声明之前使用include结构
include_once 'path/to/class/a.php';
class B extends A
{
public function __construct()
{
// your code
}
}
答案 2 :(得分:1)
这将有效,但请记住,当您包含或需要其他文件时,这些文件变量将在其包含的范围内运行。我曾经尝试使用“loader”类来模拟javas导入行为,但遇到了这个问题,因为我加载的类在主类的范围之外是不可用的。查看手册以获得更清晰的信息。