2 つのクラスがあり、どちらも異なる名前空間にあります。1 つの名前空間からオブジェクトを作成しようとすると、エラーが発生します
Fatal error: Class 'Classes\DrDatabase' not found in C:\Path\to\workspace\AplicationName\app\models\Users.model.php on line XY
PHP名前空間で理解できなかったことがありますか?
2 つのファイル:
FILE 1
namespace Classes;
class DrDatabase extends MssqlDatabase {
public function __construct() {
parent::createLog(__CLASS__);
parent::connect('ipaddress', 'database', 'user', 'password');
if ($this->link) {
$this->log->info('Connected');
}
}
}
FILE 2
namespace Model;
use \Classes\DrDatabase;
class UsersModel implements MasterModel {
private function get($id, $onlyEnabled) {
$db = new DrDatabase();
$getOnlyEnabled = 1;
if (!$onlyEnabled)
$getOnlyEnabled = 0;
$SQL = "SELECT * FROM table";
$resultSet = $db->query($SQL);
$result = array();
while ($row = mssql_fetch_assoc($resultSet)) {
$result[] = self::createUserObject($row['col1'],$row['col2']);
}
}
}