我是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)
答案 0 :(得分:2)
您的include_once读取源文件,在这种情况下,其中包含ConnectionManager的类定义。您的extends将类InstitutManager设置为继承类ConnectionManager,即InstitutManager在ConnectionManager中获取所有内容,然后可以定义自己对该基本结构的修改。这两个操作之间根本没有任何关系,你的$ connManager = new ConnectionManager操作都是荒谬的。
答案 1 :(得分:1)
require_once 'file'.php'
只是意味着PHP解释器将获取名为file.php
的文件的内容,并将其转发到调用include的位置。有点像在Word文件中选择所有内容会发生什么,单击复制并将其粘贴到另一个Word文件的顶部。
在您的情况下,您需要包含该文件,否则它将不知道在哪里找到ConnectionManager
类。