Я изучаю ориентированный объект PHP, и я думаю, что я делаю что-то глупое.php abstract class property from another abstract class
У меня есть абстрактный класс userManager, и я хочу присвоить ему свойство $ db, которое будет экземпляром моего абстрактного класса базы данных.
Класс базы данных:
abstract class Bdd{
private static $instance = null;
public static function getInstance() {
return self::$instance;
}
А класс userManager является:
abstract class usersManager{
public $db = Bdd::getInstance();
У меня есть ошибка в этой строке: public $db = Bdd::getInstance();
(Parse ошибка: синтаксическая ошибка, неожиданный '(', ожидающий ',' или ';')
Это не так?
Я думаю, что я неправильно понял абстрактные классы, в одном случае лучше в одном случае?
Это кажется законным, но мой класс является абстрактным и метод __construct не называется ... – FLX
Не имеет значения, что он абстрактный, будет вызвана функция __construct, если только в моем ответе не указано, что в вашем дочернем классе вы уже объявляя метод __construct, в этом случае вам нужно будет вызвать parent :: ___ construct() – Kris
Я проверил документ и ваше право, но даже если я выполняю публичную функцию __construct() { \t \t \t echo 'CONSTRUCT'; \t \t} Функция построения не вызывается, и я не понимаю, почему. Вызывается другой метод этого класса. – FLX