Здарова всем. Подскажите ответ на такой вопрос. Я создал php файл и туда засунул массивом параметры Теперь я пытаюсь эти параметры использовать в классе где у меня подключается БД но при указании значения как массива показывает ошибку Вот примеры моих ошибок PHP: class SQL{ private $host; private $user; private $pass; private $dbname; private $charset; public $error; $this->host = $param['db_host']; $this->user = $param['db_user']; $this->pass = $param['db_pass']; $this->dbname = $param['db_dbname']; $this->charset = $param['db_charset']; Или так тоже ошибка PHP: class SQL{ private $host = $param['db_host']; private $user= $param['db_user']; private $pass= $param['db_pass']; private $dbname= $param['db_dbname']; private $charset= $param['db_charset']; public $error; Подскажите как правильно передать параметры. Был еще такой варинат но я в нем не уверен как он безопасен. PHP: define("DB_HOST", "localhost"); class SQL{ private $host = DB_HOST;
в каком это месте вы передали $param ? Или вам просто этого захотелось? вам нужно сделать конструктор, и парпметры явно передавать в класс через конструктор
а можно пример как обучаешься в направлении ООП, как работать с конструкторами и с чего начинать ? Можно не отвечать на автологику.
Вот как-то так оно должно выглядеть. PHP: class SQL { private $host; private $user; private $pass; private $dbname; private $charset; public $error; public function __construct($param) { $this->host = $param['db_host']; $this->user = $param['db_user']; $this->pass = $param['db_pass']; $this->dbname = $param['db_dbname']; $this->charset = $param['db_charset']; $this->wtf(); } private function wtf() { $this->error = 'WTF!?'; } } $parameters = ['db_host'=>'localhost', 'db_user'=>'root', 'db_pass'=>'123', 'db_dbname'=>'test', 'db_charset'=>'utf8']; $sqlObject = new SQL($parameters); echo $sqlObject->error; Но удивительно, как ты к тому что ты показал, дошел. Даже просто банально, спросить в поисковике - "Как передать значения в ПХП класс" и в выдаче яндекса, кроме именно вот этого топика , выше есть еще другие причем с подобным вопросом как раз про БД. Если ты изучаешь ПХП попробуй сначала сам разобраться в ситуации, просто задав интересующий вопрос в поиск.