Переменные создадутся, но они будут относиться к классу-наследнику и не будут иметь ничего общего с классом-предком.
То есть вызывая parent::__construct() Вы создадите свойства в контексте текущего объекта. Родительские Вы не затронете.
Если я правильно Всех понял то:
1. Создаются новые переменные подключения .
2. Эти новые переменные все таки получают значения приватных переменных родителя.
3. Но при этом ЭТИ ЗНАЧЕНИЯ СТАНОВЯТСЯ PUBLIC (((
Присваивание это когда есть переменная и есть значение которое ей присваивается.
А во втором классе что присваивается этим свойствам ? >>( $this->servername , $this->username , $this->password );
ведь в этом классе нет нужных значений..
Дело в том что я писал это подключение не зная что privat родителя не наследуестя
и хотел что все данны шли от родителя.. а теперь не пойму как все таки это подключение к базе данных происходит..
Может тут браузер виноват? кеш какой нибудь.. не знаю как это назвать..
БД тут ни при чем.
Ваш класс-потомок создает свои свойства - они не имеют ничего общего со свойствами родительского класса (они попросту не видны потомку)
Тогда как происходит подключение если наследник не знает данных подключения?
Тоесть у меня проблема с базой данных? (тестирую на веб-сервере XAMP)
И она дает уделить таблицу из базы с нулевыми паролем и юзером?
Ведь как то класс-наследник всеже удаляет таблицы..
(ps. пишу проект для крупной банковской системы, поэтому безопасность очень актуальна )) )
***** Вопрос:каким образом работает 2й класс если он использует свойства родителя?? Ведь у родителя все свойства Privat !!
private $servername;
private $username;
private $password;
Подправил, все работает, но можно ли как то избавиться от $param ?
Например чтобы переменная $this->database_name сама присваивала себе значение
при $x = new db1('значение $this->database_name');
_________
так вот в наследуемом классе не работает функция первого класса.
Может наследуемом классе что-то не так с конструктором? (Добавление)
Так заработало, но правлильно это или нет не знаю..
кое что здесь уже устарело.. (например конструктор там по старому обьявляется именем класса, вместо __construct , и т.д.)
поэтому читаю здесь -> http://ru2.php.net/manual/en/lan...e.oop5.decon.php
_______
еще не до конца разобрался с конструктором,
почему получились ошибки в конструкторе? когда все без конструктора - ошибок нет:
Немного запутался с функцией.
А в чем разница обращения к финкции из класса,
или если в случае обращения вне класса?
У меня все вызовы функций будут внешними, но хотелось бы и разницу понять
Дело еще в том что я в этот класс хотел засунуть больше функций..
И у каждой функции могут быть свои переменные.
Получается все переменные для всех функций надо будет присваивать в конструкторе?
А более универсального метода нет? А то количество передаваемых переменных
может быть довольно большим.. и наверно нерационально
для вызова одной функции передавать лишние переменные..