Я достиг предела о наследовании, но я не могу использовать их, даже когда я пытаюсь использовать примеры из книги, которую я изучаю. Даже если все файлы находятся в одной папке, ошибка:
«Неустранимая ошибка: класс ‘mother’ не найден в C: \ Program Files (x86) \ EasyPHP-Devserver-16.1 \ eds-www \ Learning \ classes \ son.php в строке 2»
Позвольте мне показать пример, который я создал, чтобы объяснить.
ФАЙЛ: mother.php:
<?php
class mother
{
public $word= "Hello!!!";
function printWord()
{
echo $word;
}
}
?>
ФАЙЛ: son.php:
<?php
class son extends mother
{
function printWord()
{
parent::printWord();
}
}
?>
ФАЙЛ: test.php:
<?php
include 'son.php';
$test = new son();
$test->printWord();
?>
Результаты в:
ОШИБКА: фатальная ошибка: класс ‘mother’ не найден в C: \ Program Files (x86) \ EasyPHP-Devserver-16.1 \ eds-www \ Learning \ classes \ son.php в строке 2
Почему это происходит? Почему он не может найти класс, если он находится в той же папке ?!
Вы должны включить mother.php
тоже. В противном случае он не может найти класс, как говорится в ошибке.
Наивный пример:
test.php
<?php
include 'mother.php'
include 'son.php';
$test = new son();
$test->printWord();
?>
Но есть даже лучший способ
son.php
<?php
require_once 'mother.php'
class son extends mother
{
function printWord()
{
parent::printWord();
}
}
?>
Других решений пока нет …