PHP: не может использовать наследование. Не найдет класс

Я достиг предела о наследовании, но я не могу использовать их, даже когда я пытаюсь использовать примеры из книги, которую я изучаю. Даже если все файлы находятся в одной папке, ошибка:

«Неустранимая ошибка: класс ‘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

Почему это происходит? Почему он не может найти класс, если он находится в той же папке ?!

0

Решение

Вы должны включить 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();
}
}
?>
2

Другие решения

Других решений пока нет …