这是好吗? require_once或extends


PHP - Is this good require_once or extends

我是php的新手,但我会尝试直接进入重点。我有一个类叫做ConnectionManager

class ConnectionManager
{
     function ConnectToDB()
     {
         //PDO connection code  
     }
}

和在我的其他经理InstitutManager我使用require_once($filename)来访问我的ConnectionManager函数

require_once('../manager/ConnectionManager.php');
class InstitutManager
{
     protected $connInstance;
     function _construct()
     {
         $this->connInstance = new ConnectionManager;
     }
     function getInstituts()
     {
         $conn = $connManager->ConnectToDb();
         //retrieve instituts 
     }
}

问题是:我应该在我的InstitutManager中使用extends ConnectionManager而不是require_once吗?为什么我要多使用其中一个呢?

感谢

编辑:更改InstitutManager类的代码

这样可以吗?或者我应该传递一个参数与我的连接已经实例化在function _construct($conn) ?

include_once读取源文件,在本例中,源文件中有ConnectionManager的类定义。你的扩展将类InstitutManager设置为继承类ConnectionManager,即InstitutManager获取ConnectionManager中的所有内容,然后可以定义自己对该基本结构的修改。这两个操作之间实际上没有任何关系,并且您的$connManager = new ConnectionManager操作是无意义的。

require_once 'file'.php'只是意味着PHP解释器将获取名为file.php的文件的内容,并将其转储到调用包含的位置。这有点像你选择了一个Word文件中的所有内容,然后点击复制并粘贴到另一个Word文件的顶部。

在您的情况下,您需要包含该文件,否则它将不知道在哪里找到ConnectionManager