В настоящее время я пытаюсь понять, как OOP применяется к PHP, и у меня возникают проблемы с вызовом моего класса, когда я попадаю в наследство.OOP PHP требует классов, extends
Я использую следующий PHP код:
require_once("init.php");
$table = new Table();
$table->draw();
$customer1 = new Customer();
Поскольку класс таблицы это обычный класс (не наследуется) он будет загружен правильно.
init.php имеет следующий PHP код:
function __autoload($class_name) {
require_once('classes/'.$class_name . '.class.php');
}
Поскольку класс Клиент inhereting класс пользователя, код для класса Customer внутри класса User, однако функция __autoload пытается вызовите client.class.php сейчас.
Мой класс Customer будет выглядеть примерно так:
class User
{
private $_username;
public function __construct($name)
{
$this->_username = $name;
}
public function getUsername()
{
return $this->_username;
}
}
class Customer extends User
{
public function __construct()
{
//some code here
}
}
Cany кто-нибудь объяснить мне, пожалуйста, как я должен вызвать унаследованный класс с PHP?
'Поскольку класс Customer inhereting класс User, код для класса Customer находится внутри класса User', не имеет никакого смысла ... что такое определение вашего класса клиентов? –
'__autoload()' будет запускаться для любых/всех классов, с которыми сталкивается PHP, которых он не видел нигде, даже если это унаследованный класс. – Ian
Унаследованный класс - это класс, как любой другой. Нет смысла использовать его. Что на самом деле происходит здесь неправильно? – David