Как правильно объявить объект класса в другом классе?

Мне нужно создать экземляр класса в конструкторе. Это облегчённый вопрос, чтобы не пришлось кидать кучу кода. Я пытался разными способами, по итогу либо эта ошибка, либо NULL вместо объекта. В общем, пару дней уже сижу с этим. Туториалы предлагают делать так:

Action.php:
<?php
namespace App\Services;
use App\Services\Test;

class Action
{
    private $test;
    public function __construct()
    {
        $this->test = new Test;
    }

    public function Message()
    {
        
        $this->test->Get();
    }
}

?>

Я делаю так, получаю:

Fatal error: Uncaught Error: Using $this when not in object context in /home/ryir/www/test.asd/app/Services/Action.php:17 Stack trace: #0 /home/ryir/www/test.asd/index.php(5): App\Services\Action::Message() #1 {main} thrown in /home/ryir/www/test.asd/app/Services/Action.php on line 17

Остальной код:

Test.php
<?php

namespace App\Services;

class Test {
    public function Get()
    {
        echo "Hello";
    }
}
?>
index.php
<?php

use App\Services\Action;
require_once __DIR__ . "/vendor/autoload.php";
Action::Message();

?>

Ответы (0 шт):