Доброго времени суток!
У меня проблема в следующем, класс не видит другой подключенный класс.
На главной странице сообщение об ошибке:
Fatal error: Uncaught Error: Class "MyProject\Models\ActiveRecordEntity" not found in C:\OSPanel\domains\projectoop\src\MyProject\Models\Articles\Article.php:7 Stack trace: #0 C:\OSPanel\domains\projectoop\index.php(4): require() #1 {main} thrown in C:\OSPanel\domains\projectoop\src\MyProject\Models\Articles\Article.php on line 7
И так код файла "projectoop\src\MyProject\Models\Articles\Article.php"
<?php
namespace MyProject\Models\Articles;
use MyProject\Models\ActiveRecordEntity;
class Article extends ActiveRecordEntity
{
/** @var string */
protected $name;
/** @var string */
protected $text;
/** @var string */
protected $authorId;
/** @var string */
protected $createdAt;
/**
* @return string
*/
public function getName(): string
{
return $this->name;
}
/**
* @return string
*/
public function getText(): string
{
return $this->text;
}
protected static function getTableName(): string
{
return 'articles';
}
}
код файла "projectoop\src\MyProject\Models\ActiveRecordEntity.php"
<?php
namespace MyProject\Models;
use MyProject\Services\Db;
abstract class ActiveRecordEntity
{
/** @var int */
protected $id;
/**
* @return int
*/
public function getId(): int
{
return $this->id;
}
public function __set(string $name, $value)
{
$camelCaseName = $this->underscoreToCamelCase($name);
$this->$camelCaseName = $value;
}
private function underscoreToCamelCase(string $source): string
{
return lcfirst(str_replace('_', '', ucwords($source, '_')));
}
/**
* @return static[]
*/
public static function findAll(): array
{
$db = new Db();
return $db->query('SELECT * FROM `' . static::getTableName() . '`;', [], static::class);
}
abstract protected static function getTableName(): string;
}
Используй Open Server
Модули стоят такие:
HTTP: Apache_2.4-PHP_8.0-8.1
PHP: PHP_8.1
MySQL: MySQL-5.6
В чем может быть ошибка?