Похоже, ваши константы не определены до того, как вы создадите экземпляр класса Auth
. Когда вы используете неопределенную константу таким образом, PHP выдаст предупреждение и преобразует его в строку. Если проблема действительно в том, что ваши константы не определены, ваш код будет эффективно интерпретироваться как:
$this->db_link = mysql_connect('DB_HOSTNAME', 'DB_USERNAME', 'DB_PASSWORD');
Учитывая полученную ошибку ( Неизвестный хост сервера MySQL 'DB_HOSTNAME' ), я предполагаю, что именно это и происходит.
Как указано в других ответах, убедитесь, что вы определяете константы, прежде чем пытаться вызвать Auth::AuthClass
. Если класс и константы DB_ * определены в разных файлах, убедитесь, что оба файла включены, прежде чем пытаться создать экземпляр / использовать класс Auth
.
Кроме того, определенные константы являются , а не переменными. Вы не можете использовать global CONSTANT_NAME;
таким образом, и вам не нужно - все константы всегда глобальны и доступны везде после заданной точки. Простой тест доказывает это:
define ('MY_CONST', 3);
class Test {
function __construct() { echo MY_CONST; }
}
$x = new Test(); // outputs 3