Я пытаюсь создать php и решил сделать очень простую программу только для проверки наследования классов и изучения канатов этого языка.Невозможно найти классы с очень простым проектом
Итак, у меня есть основной класс, который вызывает класс, который реализует интерфейс. Простой, но когда я запускаю его, он говорит мне, что он не может найти классы:
Фатальная ошибка: Class 'PHPSTORM_META \ Shape' не найден в C: \ Users \ Паулу Moreno \ PhpstormProjects \ test \ Square.php on line 12
Дело в том, что именно там находится этот файл. Путь правильный.
Вот основной код:
MainTest.php
<?php
echo "Hello World";
require_once dirname(__DIR__) . '\test\MainTest.php ';
require_once dirname(__DIR__) . '/test/Square.php ';
require_once dirname(__DIR__) . '/test/Shape.php ';
require_once dirname(__DIR__) . '/test/GeoShape.php ';
echo "Hello World";
$rect = new Square(5, 5);
echo $rect->getArea();
echo "<br>" . $rect->getName();
Квадрат Класс:
<?php
/**
* Created by PhpStorm.
* User: Paulo Moreno
* Date: 4-12-2016
* Time: 15:57
*/
namespace PHPSTORM_META;
class Square extends Shape implements GeoShape
{
public $x;
public $y;
public function __construct($x, $y)
{parent::__construct($this->name);
$this->x = $x;
$this->y = $y;
}
public function getArea()
{
return $this->x * $this->y;
}
}
Это, вероятно, что-то очень простое, что заставит меня хотеть, чтобы разбить головой о стены, но я застрял с этим довольно долгое время. Да, я новичок в php и phpstorm.
Вы включаете квадрат перед формой. Класс квадрат еще не знает, какова форма класса, когда вы пытаетесь наследовать его. – Daan
Это было Даан, спасибо. – pcmoreno
Удалить пространство имен PHPSTORM_META; '- это пространство имен используется только для собственного использования PhpStorm. Я не знаю, откуда вы взяли эту идею/образец кода из (потому что 'PHPSTORM_META' - очень конкретный случай). Сначала попробуйте прочитать руководство по PHP: http://php.net/manual/en/language.namespaces.php – LazyOne