Предположим, что я этот класс:Расширить класс в свойстве класса?
class Loader
{
function library($name)
{
require $name . '.php';
}
}
и теперь включают в себя класс foo
($ название) внутри моего контроллера, как это:
class Controller
{
function __construct()
{
$this->load = new Loader();
}
}
class Child_Controller extends Controller
{
function __construct()
{
parent::__construct();
$this->load->library('foo');
init();
}
}
можно, например, доступ к включенный класс внутри $this
? Как:
class Child_Controller extends Controller
{
//..construct above..
function init()
{
$this->print('some text');
}
}
где print
является методом foo
, класс включены:
class Foo
{
function print($message)
{
echo "your message: " . $message;
}
}
Итак, подводя, я хочу включить в контроллере ребенка, в $this
, весь метод включенного класса по классу Loader, расширенному базовым контроллером. Это возможно?
Или другая идея будет создавать динамически в Child_Controller, свойство, принять имя включенного класса, поэтому для вызова метода foo
я могу сделать что-то вроде:
$this->Foo->print('some text');
Нет, это невозможно. Кроме того, вы могли бы столкнуться с теми же методами класса. Создайте новое свойство и присвойте ему экземпляр класса. –
Да, вы можете. Но для этого требуется много работы. Фактически, автозагрузка/композитор - это то, что вы ищете. – felipsmartins