ДоХтор, все зависимости, которые использует класс, лучше передавать в него, а не получать внутри него.
Т.е грубо говоря, делать так:
class A {}
class B {
protected $a;
public function __construct(A $a) {
$this->a = $a;
}
}
А не так:
class A {}
class B {
protected $a;
public function __construct() {
$this->a = new A();
}
}
Тут опечатка вроде бы?
class A {}
class B {
protected $b;
public function __construct(B $b) {
$this->b = $b;
}
}
Надо так ?
class A {}
class B {
protected $b;
public function __construct($b) {
$this->b = $b;
}
}
ДоХтор, нет, это же тайпхинт. Т.е мы указываем что в качестве аргумента $b ждём экземпляр класса B.
# ДоХтор (18.04.2016 / 21:24)
Тут опечатка вроде бы?
class A {}
class B {
protected $b;
public function __construct(B $b) {
$this->b = $b;
}
}
Бегом иди читать чейнджлог php
а, ну да, я там в классе B написал зависимость от себя же, нужно там на A всё сменить.
===
Исправил что б никого не путать.
Ого, знал что давно добавили, но не думал что настолько.
PHP мне вообще в последнее время нравится, по правильному пути идет.
# L!MP (18.04.2016 / 21:26)
ДоХтор, нет, это же тайпхинт. Т.е мы указываем что в качестве аргумента $b ждём экземпляр класса B.
Гг, я такого ещё не встречал
На данном этапе вроде бы всё ясно, спс )
# L!MP (18.04.2016 / 21:06)
ДоХтор, а зачем ты вообще расширяешь MySQLi? Ты там какую-то дополнительную функциональность хочешь реализовать?
Если просто что бы иметь доступ к БД внутри класса GbookDB, то:
class GbookDB
тогда уж регистри
в конструкторе может аргументы какие передавать понадобится